How Windows 95 Supported PC Card Hot-Swapping

Windows 95 revolutionized mobile computing by introducing native, protected-mode Plug and Play support for PCMCIA (PC Card) hardware, enabling users to insert and remove expansion cards without rebooting. By replacing cumbersome DOS-era real-mode drivers with an integrated 32-bit subsystem, the operating system automated hardware detection, dynamic resource allocation, and real-time driver loading for laptops.

Before Windows 95, using PC Cards under MS-DOS and Windows 3.1 was notorious for causing system instability. It required loading memory-heavy third-party Card and Socket Services into CONFIG.SYS. Hot-swapping was either poorly supported or non-existent, frequently leading to system crashes if a user removed a network card or modem while the operating system was running.

Windows 95 solved this challenge through its core Plug and Play (PnP) architecture, which included a dedicated PCMCIA bus enumerator. When a user inserted a card, the physical socket hardware generated an interrupt that signaled the controller. The PCMCIA bus driver read the Card Information Structure (CIS)—often referred to as the card's "tuple" data—directly from the card’s non-volatile memory. The CIS contained critical metadata identifying the manufacturer, device type, and required hardware resources such as interrupts (IRQs), I/O ports, and direct memory access (DMA) channels.

Once the device was identified, the Windows 95 Configuration Manager resolved any resource conflicts. Because laptop hardware resources were strictly limited, the Configuration Manager dynamically mapped non-conflicting I/O addresses and free IRQs to the PCMCIA controller's mapping windows. After securing the resources, the operating system dynamically loaded the corresponding 32-bit virtual device drivers (.VxD) into memory without interrupting other processes.

When a card was removed, the socket triggered another interrupt. Windows 95 notified running applications that the hardware was no longer available, unloaded the driver from memory, and returned the assigned system resources back to the pool of available hardware allocations.

To prevent data corruption, particularly with storage cards or active dial-up sessions, Windows 95 also introduced a dedicated PC Card status utility in the taskbar notification area. This utility gave users the ability to gracefully stop device activity before physically ejecting the card, laying the architectural groundwork for modern USB and Thunderbolt hot-plug capabilities used today.