Windows 98 Hardware Profiles for Docking Stations
Windows 98 provided native support for mobile computing by using dynamic hardware profiles that allowed laptops to transition smoothly between docked and undocked states. By leveraging enhanced Plug and Play (PnP) architecture and early Advanced Configuration and Power Interface (ACPI) specifications, the operating system could identify connected peripherals, allocate system resources, and switch hardware states with minimal user intervention and fewer reboots compared to its predecessors.
Hardware Profiles and Device Allocation
A hardware profile in Windows 98 was a saved configuration of device settings and driver states stored in the system registry. Because docking stations typically introduced desktop-specific hardware—such as external monitors, dedicated network interface cards (NICs), full-sized keyboards, and extra storage controllers—the operating system needed a way to manage these devices without causing resource conflicts when the machine was mobile.
Within the System Properties control panel, Windows 98 maintained distinct profiles, typically named "Docked" and "Undocked." Each device in the Device Manager possessed properties that determined whether it was enabled or disabled in a specific profile. Devices unique to the dock were marked as "Disable in this hardware profile" when the laptop was undocked. This prevented the operating system from searching for missing hardware, throwing error codes, or wasting system memory on inactive drivers.
Dynamic Detection and Docking States
Windows 98 supported three docking methods, depending on the capabilities of the laptop's BIOS and motherboard:
- Cold Docking: The laptop was inserted into or removed from the dock while completely powered off. During the subsequent boot sequence, the BIOS passed the current hardware configuration to Windows 98, which automatically loaded the matching profile.
- Warm Docking: The system transitioned while in a suspended or standby state. Upon resuming, Windows 98 detected the altered bus configuration and loaded the appropriate profile before restoring user sessions.
- Hot Docking: The system was docked or undocked while fully powered on and running.
For hot docking, Windows 98 relied on PnP bus enumerators. When the laptop connected to the dock connector, an electrical signal triggered an interrupt. The operating system queried the dock's hardware ID, matched it to an existing profile, and dynamically loaded the required drivers without restarting the machine. If an unknown dock was detected, Windows 98 launched a wizard to create a new profile cloned from the current state.
The "Eject PC" Routine
To prevent data loss and system crashes during undocking, Windows 98 placed an "Eject PC" command directly in the Start menu when compatible docking hardware was present.
Selecting "Eject PC" initiated an orderly teardown sequence:
- Windows signaled running applications and drivers that dock-dependent hardware was about to become unavailable.
- File system caches writing to dock-connected storage drives were flushed.
- Network connections running through the dock's NIC were cleanly closed.
- The system disabled the dock's device stack and issued an electrical or mechanical unlock signal, notifying the user via an on-screen prompt that it was safe to physically undock the computer.
If an application refused to release a file on a dock-based drive, Windows 98 aborted the eject process and alerted the user, safeguarding the system against the blue-screen errors common to abrupt hardware removal.