System Configuration Overview

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

This chapter presents overview information about configuring hardware and software for use with Windows 95. It also provides some background information about device support and Plug and Play features within Windows 95.

Windows 95 includes several tools and built-in features that make it easy to configure the hardware and software you use on your computer.

Automatic hardware detection.

Hardware designed to work with Windows 95 is virtually self-configuring. When you run Windows 95 Setup, an automatic hardware detection routine searches your computer to determine the hardware components that are installed. Whether your system includes Plug and Play-compliant or legacy components, Windows 95 can automatically detect and configure them. Windows 95 Plug and Play features are described in "Plug and Play Support in Windows 95" later in this chapter. For more information about hardware detection during Setup, see Chapter 6, "Setup Technical Discussion."

Transfer of Windows 3.x or Windows for Workgroups settings.

When you upgrade to Windows 95 from an earlier version of Windows, Windows 95 Setup automatically updates system configuration settings (such as those in SYSTEM.INI and CONFIG.SYS) and moves them to the Registry. For information, see Chapter 6, "Setup Technical Discussion."

Configuration wizards.

Windows 95 includes online wizards for installing new hardware, adding modems, adding printers, and installing applications. These tools lead you through all the steps you need to configure the new component on a computer.

Point and print.

When you copy a printer icon from the server's window to your own Printers window or desktop, Windows 95 automatically installs the correct printer driver and configures the network connection to a network printer.

Control Panel options for system configuration.

The Control Panel includes several tools for configuring various parts of your system. The following table describes some of the Control Panel tools for system configuration.


Description of tool



Accessibility Options. Use this tool to adjust keyboard, sound, display, mouse, and general options to make Windows 95 easier to use for individuals with disabilities. For information, see Appendix I, "Accessibility."



Add New Hardware. Use this wizard to configure newly installed hardware through autodetection or by selecting the corresponding driver from a list. For information, see Chapter 19, "Devices."



Add/Remove Programs. Use this wizard to install a program from a setup disk. You can also remove any application installed with this tool, add components from the Windows 95 setup disks, or create a new startup disk. For information, see Chapter 22, "Application Support."



Display. Use this tool to change background and screen saver choices. Modify settings for on-screen fonts, colors, color palette, and so on. For information on configuring the display, see Chapter 19, "Devices."



Fonts. Use this tool to view installed fonts or install new fonts. For more information, see Chapter 23, "Printing and Fonts."



Keyboard. Use this tool to change options for the style of keyboard you use and for the rate at which the characters you type are displayed. For information, see online Help.



Modems. Use this wizard to add a new modem. You can also use this tool to configure or diagnose installed modems. For more information, see Chapter 25, "Modems and Communications Tools."



Mouse. Use this tool to change mouse or pointer options. (The appearance of the icon may be different, depending on the type of mouse used.) For information, see Chapter 19, "Devices."



Multimedia. Use this tool to change options for audio playback and recording, MIDI output and schemes, and CD playback volume. Use the Advanced properties to install or configure multimedia hardware, drivers, and codecs. For information, see Chapter 21, "Multimedia."



Printers. Use this tool to configure existing printers or add a new printer. For more information, see Chapter 23, "Printing and Fonts."



Sound. Use this tool to create or modify sound schemes. (This is available to users who have sound cards on their computers.) For information, see online Help.



System. Use this tool to view general information about your computer. Use Device Manager to list or configure hardware properties. You can also list, copy, or rename hardware profiles and view performance status settings. For information, see Chapter 19, "Devices."

Improved Device Support in Windows 95

Windows 95 provides improved support for hardware devices and peripherals including disk devices, display adapters, pointing devices, modems and other communications devices, and printers. This section summarizes the improved device support.

Mini-driver architecture for reliable drivers.

Windows 95 extends the mini-driver architecture for printer drivers used in Windows 3.1 throughout the operating system to the architecture for drivers of other system components, resulting in increased driver stability and forward compatibility. Although it is still possible to write and use monolithic drivers in Windows 95, Microsoft recommends that hardware manufacturers use the mini-driver model.

Improved support through Plug and Play.

Plug and Play is designed so that adding a device, either permanently or dynamically, requires nothing more than taking it out of the box and plugging it in. The computer and operating system seamlessly adjust to the new configuration. When using Plug and Play-compliant hardware, users will no longer be required to manually set jumpers and switches to redirect IRQs, DMA channels, or I/O port addresses. This saves time and expense in service calls related to hardware configurations.

Plug and Play is also a benefit to users who install Plug and Play-compliant devices into older, legacy computers. Information about these devices is stored centrally in the Registry, and devices that cannot be reconfigured dynamically receive first priority when resources are allocated.

The Registry and Device Manager for resource management.

To properly manage resources such as IRQs, I/O addresses, and DMAs, Windows 95 uses the Registry to track devices and resources allocated for both Plug and Play-compliant devices and legacy devices. The Registry provides a centralized, dynamic data store for all Windows settings, with a "current configuration" branch that stores information on a per-configuration basis. For example, the Display option in Control Panel stores per-configuration information about display resolution changes and Print Manager stores per-configuration information about the default printer.

Device Manager — which is available from the System icon in Control Panel — provides a graphical representation of devices configured in Windows 95, and allows properties used by these devices to be viewed and changed, as appropriate. Device Manager also shows resources allocated for the configured devices. Through the resource configuration information maintained in the Registry, Windows 95 is able to automatically identify and resolve device resource conflicts for Plug and Play-compliant devices. For legacy devices, Device Manager helps users quickly identify and resolve resource conflicts with devices in the system.

Virtual device drivers.

Windows 95 uses virtual device drivers (VxDs) where possible to provide improved performance. VxDs replace the real-mode MS-DOS device drivers used in previous versions of Windows for the following:

  • MS-DOS FAT file system

  • SMARTDrive

  • CD-ROM file system

  • Network drivers and network transport protocols

  • Network client and peer resource sharing server

  • Mouse driver

  • MS-DOS file sharing and locking support (SHARE.EXE)

  • Disk device drivers, including support for SCSI devices

  • DriveSpace (and DoubleSpace) disk compression

Windows 95 provides device driver and TSR functionality as protected-mode components that reside in extended memory, avoiding context switches between protected-mode and real-mode when running 32-bit applications. Use of VxDs also improves system stability and reliability over using the MS-DOS device drivers.

PCMCIA support.

Windows 95 delivers power, compatibility, ease of installation, and dynamic card insertion and removal to PCMCIA users. PCMCIA drivers in Windows 95 are robust, 32-bit, dynamically loadable virtual device drivers that use no conventional memory. Windows 95 includes an updated version of Card and Socket services to support PCMCIA.

To install a PCMCIA device, just insert the card in the computer. For example, when you plug in a PCMCIA network adapter, Windows 95 detects the network adapter, loads the network drivers, and establishes a network connection. Then the user interface is updated to show that the mapped network drives are now active. With earlier versions of Windows or other operating systems, you had to shut down and restart the computer to begin using the device.

Hot docking support.

Plug and Play allows "hot docking" (that is, docking with the device powered on) and insertion of devices. This means that when a device is inserted, the operating system recognizes the new device, its capabilities, and its requirements, and loads the appropriate driver without requiring the user to restart the system unless the required resources are not available to the new device. Applications are notified about dynamic events, so they can take advantage of the new functionality or stop attempting to use unavailable devices.

Instead of changing configuration files and restarting the computer, a user working at a docking station can click Eject PC on the Start menu.

Windows 95 Device Classes

Devices and buses are grouped as classes in Windows 95, for purposes of installing and managing device drivers and allocating resources. The Registry contains a subkey for every class of device supported, and the hardware tree (as described in the following section) is organized by device class. Windows 95 uses class installers to install drivers for all hardware classes. Device Manager, for example, sends messages to the various class installers to tell them to add, remove, or configure specific hardware.

The following are some examples of class names defined in Windows 95:





The Windows 95 hardware tree is a record of the current system configuration, based on the configuration information for all devices in the hardware branch of the Registry. The hardware tree is created in RAM each time the system is started or whenever a dynamic change occurs to the system configuration.

Each branch in the tree defines a device node with the following requirements for configuration:

  • Unique identification code, or device ID

  • List of required resources, including the resource type (such as IRQ and memory range) and constraints on specific resources (such as a COM port that requires IRQ3)

  • List of allocated resources

  • Indication that the device node is a bus, if applicable (each bus device has additional device nodes under it in the tree)

Tip for Viewing the Hardware Tree

Most information in the Windows 95 hardware tree can be seen by using Device Manager, which you can display by choosing the System option in Control Panel. Device Manager is described in Chapter 19, "Devices."

You can also see the information in the hardware tree in the Hkey_Dyn_Data \Dynamic \Enum section of the Windows 95 Registry.

The configuration process in Windows 95 uses the device nodes to identify the devices and resource requirements for establishing the working system configuration. For information about the components that work together in Windows 95 to configure the system, see Chapter 31, "Windows 95 Architecture."

Plug and Play Support in Windows 95

Plug and Play is an independent set of computer architecture specifications that hardware manufacturers use to produce computer devices that can be configured with no user intervention.

For Plug and Play-compliant devices, installation consists of plugging in the device and turning on the computer. For example, a user can do the following:

  • Insert and remove Plug and Play-compliant devices such as PCMCIA cards with automatic configuration.

  • Connect to a docking station or network without restarting the computer or changing configuration parameters.

  • Add a new monitor by plugging it in and turning it on.

The Plug and Play capabilities in Windows 95 have been widely described as key benefits to moving to Windows 95, because of the related reduction in hardware and software support costs. When Windows 95 detects the presence of a Plug and Play-compliant device, its device driver can be loaded and configured dynamically, requiring little or no user input. After the device and driver are installed, the driver reacts to system messages when a device is inserted or removed.

Microsoft recommends adding Plug and Play-compliant devices on legacy computers rather than adding non-Plug and Play devices. To use all Plug and Play features, however, your system must include a Plug and Play BIOS (the motherboard), devices (buses), and an operating system (Windows 95).

The following describes Plug and Play requirements and benefits.

The following table compares the Plug and Play implementation in the Windows 95 operating system against other implementations.

Windows 95 Plug and Play

Most other implementations

Dynamically loads, initializes, and unloads drivers in protected mode.

Run in real mode, with MS-DOS – based drivers loaded in CONFIG.SYS.

Supports a wide range of device types (as described in the following section).

Include only basic PCI-based and ISA-based device configuration.

Provides robust detection for devices, which is critical for Plug and Play on legacy computers.

Do not provide hardware detection.

Notifies other drivers and applications when a new device is available for use. Windows 95 also includes an automatic installation procedure to ensure that appropriate drivers are installed and loaded.

Configure device IRQ settings and so on, but the burden of installation falls on the user.

Provides robust, seamless operation through the integration of all subsystems and the startup process.

Might not be as reliable.

Provides an architecture with a consistent driver and bus interface for all devices.

In real mode, do not provide a supporting architecture.

Plug and Play Device Types

A variety of devices are compliant with Plug and Play. The following sections describe the types of devices and provide details for Plug and Play versus legacy devices.

ISA Devices

Industry Standard Architecture (ISA) bus design is the architecture specified for the IBM® PC/AT®. Plug and Play ISA devices can be used on existing computers, because the specification does not require any change to ISA buses. For automatic configuration of Plug and Play ISA devices, the system performs the following actions:

  • Identifies and configures the devices using I/O ports, which enables the Plug and Play logic on the card.

  • Isolates each card and assigns a unique device ID and serial number.

  • Reads the resource requirements and capabilities stored on each card.

  • Allocates resources to each card, which reserves these resources so that other Plug and Play cards in the computer cannot be assigned these resources.

  • Activates the Plug and Play ISA cards.

For legacy devices, standard ISA cards can coexist with Plug and Play ISA cards on the same computer. Windows 95 determines the type of hardware and its configuration during Setup, either by polling the hardware or asking the user to supply values. This configuration information is stored as static values in the Registry, and cannot be changed dynamically, but it is used to determine resource assignments for Plug and Play-compliant devices.

EISA Devices

Enhanced Industry Standard Architecture (EISA) is a bus design for x86-based computers, specified by an industry consortium. EISA devices use cards that are upwardly compatible from ISA. EISA devices use standard software mechanisms for identification and configuration. As such, they meet most of the Plug and Play requirements. Windows 95 includes a bus enumerator that makes configuration information from these devices accessible to the operating system. This means that Windows 95 does not reconfigure EISA cards, but instead uses the information that hardware detection derives from the EISA nonvolatile RAM storage to determine which resources are used.

SCSI Devices

Small Computer Standard Interface (SCSI) is a multiple-device chained interface used in many devices such as hard disks and CD-ROM drives. Plug and Play SCSI devices support dynamic changes to the adapter and automatic configuration of device ID and termination.

Configuration of a SCSI device can be separated into two distinct processes:

  • Configuring the SCSI bus itself, such as terminating both ends of the SCSI bus and setting device IDs.

  • Configuring the SCSI host adapter, such as assigning an IRQ channel, DMA channel, and so on.

Configuring a SCSI bus that is not Plug and Play-compliant is difficult for most users. The list of issues related to configuring a SCSI bus is long, including:

  • SCSI device ID assignment

  • Termination

  • SCSI parity

  • Command sets

  • Disk geometry and software

For example, the SCSI-2 specification does not define an automated ID assignment mechanism, so the user is responsible for making sure that no two SCSI devices on the same SCSI bus share the same SCSI ID. Also, you might replace a SCSI host adapter with one from another company and find it doesn't work due to differences in disk geometries or the way devices are mapped to INT 13 parameters.

For more information about support for SCSI devices and drivers, see Chapter 20, "Disks and File Systems."

PCMCIA Devices

PCMCIA devices meet the Personal Computer Memory Card International Association standard for the credit card-sized interface cards in portable computers and other small computers. PCMCIA technology supports all Plug and Play functionality. Windows 95 provides automatic installation and drivers for Intel-compatible and Databook-compatible PCMCIA sockets. Windows 95 also supports real-mode and protected-mode PCMCIA system software drivers (card services) from other vendors, but some of the Plug and Play capabilities will not be available, such as hot swapping of network adapters and automatic installation.

Windows 95 supports alternate system configurations for PCMCIA devices, depending on whether the PCMCIA device is docked. The alternate configurations are saved under unique identifiers in the hardware tree to be used for dynamic configuration.

Depending on how the hardware manufacturer uses the Plug and Play standard, a PCMCIA device driver might be combined with an ISA or an EISA driver for the card, or the system's generic driver can be used.

To take advantage of Plug and Play, a card must contain information that Windows 95 can use to create a unique device ID for the card. Device drivers can be implemented under three possible schemes, depending on how complete the Card Information Structure (CIS) is on the card, whether the driver requires memory services, and whether the drive is bus-sensitive:

  • A standard Plug and Play device driver for PCMCIA (the preferred driver) can handle dynamic configuration and removal, and receive configuration information from the operating system without knowledge of the card in the PCMCIA bus. The recommended choices are NDIS 3.x drivers for network adapters and Windows NT miniport drivers for SCSI cards, which do not require PCMCIA-specific services such as memory buffers.

  • Generic Windows 95 device drivers are supported automatically for devices such as modems and disk drives. If the card contains complete configuration information, the operating system initializes the device and passes configuration information to the driver.

  • Manufacturer-supplied drivers are required for device classes such as network or SCSI adapters that require specific PCMCIA functions, such as memory-mapped I/O or memory window operations. Windows 95 supports these operations through the standard card services API.

VL and PCI Devices

The Video Electronic Standards Association (VESA) Local (VL) bus standard allows high-speed connections to peripherals. VL bus devices are not totally Plug and Play-compliant, but work similarly to ISA devices. The VL bus is used mostly to support high-performance video cards.

The Peripheral Component Interconnect (PCI) local bus is a standard used in most Pentium™ computers and in the Apple® PowerPC™ Macintosh® and is likely to be the successor to VL. Windows 95 does not reconfigure PCI cards, instead it uses the information that hardware detection derives from the PCI nonvolatile RAM storage to know what resources are used. The PCI bus architecture meets most Plug and Play requirements, and PCI devices use standard mechanisms for identifying themselves and declaring resource requirements.

Note: PCI is usually a secondary bus. If its primary bus is not Plug and Play-compliant, the PCI bus cannot use Plug and Play functions.

Other Device Types

Other device types can take advantage of Plug and Play if they provide mechanisms for identification and configuration. These include IDE controllers, Extended Capabilities Ports (ECP), and communications ports.

Parallel ports, also known as LPT ports, can also take advantage of Plug and Play. The most common parallel port type is the Centronics® interface. Plug and Play parallel ports meet Compatibility and Nibble mode protocols defined in IEEE P1284. Compatibility mode provides a byte-wide channel from the computer to the peripheral. Nibble mode provides a channel from the peripheral to the host through which data is sent as 4-bit nibbles using the port's status lines. These modes provide two-way communication between the host and the peripheral. Nibble mode is also used to read the device ID from the peripheral for device enumeration.

For computers that are totally Plug and Play-compliant, the BIOS also meets Plug and Play specifications. In this case, the file named BIOS.VXD provides the BIOS Plug and Play enumerator.