Windows 95 provides better disk device support than Windows 3.1, but it also ensures compatibility with existing MS-DOS – based and Windows-based disk device drivers. In addition, the disk device drivers in Windows 95 are compatible with Windows NT miniport drivers.
Windows 95 also provides enhanced support for large media using logical block addressing, including hard disks with more than 1024 cylinders. Extensions to the INT 13 disk controller support are provided in the protected-mode disk handler drivers for this support. (Windows 3.1 did not provide this support in its 32-bit disk access drivers.)
The following list shows the types of disk devices supported under Windows 95:
Device | Type supported | ||
Hard disk drive | ESDI | IDE | MFM |
Bus adapter | EISA | PCI | SCSI |
The following sections describe support in Windows 95 for IDE, SCSI, high-speed floppy disk, and removable media devices. Information about SCSI and non-SCSI port drivers is also included.
Windows 95 provides improved support for IDE drive configurations, as summarized in this section.
Support for alternate IDE controllers.
Windows 95 provides protected-mode support for the use of two IDE controllers in a computer, or the combination of an IDE controller in a portable computer and an alternate controller in a docking station (available, for example, in some COMPAQ docking station products). IDE controllers provide support for multiple disk drives.
Support for IDE-based CD-ROM drives.
Currently, most disk devices in personal computers use an IDE-based hard disk controller. Adding a CD-ROM drive typically requires adding an additional controller card to provide either SCSI or a proprietary interface for connecting to the CD-ROM drive. Windows 95 supports new, inexpensive CD-ROM drives that connect to IDE-compatible disk controllers.
Any IDE device that includes mechanisms for identification and declaration of resource requirements can take advantage of Plug and Play.
Note To use Syquest removable IDE drives under Windows 95, the entry RemovableIDE=true must be added to the [386enh] section of SYSTEM.INI
Support for large IDE disk drives.
IDE drives are available that support a logical block addressing (LBA) scheme, allowing them to exceed the 0.5 GB (528 MB) size limitation. Windows 95 provides protected-mode support for IDE disk drives larger than 504 MB. The primary partition and the logical drives in an extended partition are each limited to 2 GB, but multiple 2-GB logical drives can be created in an extended partition.
The cluster size for a drive is defined by the Format program, depending on the size of the local drive, as shown in the following table:
Cluster Sizes for Logical Volumes on Hard Disks
Drive size (MB) | Sectors per cluster | Cluster size |
0 – 151 | 8 | 4K |
16 – 127 | 4 | 2K |
128 – 255 | 8 | 4K |
256 – 511 | 16 | 8K |
512 – 1023 | 32 | 16K |
1024 – 2048 | 64 | 32K |
1 FAT type is 12-bit; all other sizes use 16-bit FAT.
You can also use DriveSpace on 1-GB or 2-GB drives to eliminate the inefficiency of using 32K clusters, but in this case you must create multiple compressed drives. You can also use compression in Microsoft Plus! to create a single compressed drive on disks that are up to 2 GB in size.
Windows 95 provides support for SCSI disk devices, which was not available in Windows 3.1. SCSI support in Windows 95 includes disk SCSI translator drivers, the SCSI Port Manager, and SCSI miniport drivers.
Windows 95 provides broad support for popular SCSI controllers. Windows 95 includes 32-bit disk device drivers for popular SCSI controllers from Adaptec, Future Domain, and other manufacturers. Windows 95 also provides compatability support for the Advanced SCSI Programming Interface (ASPI) and Common Access Method (CAM), which allows application and driver developers to submit I/O requests to SCSI devices. This allows existing MS-DOS – based applications and drivers that use the ASPI or CAM specification to work properly under Windows 95. Windows 95 also includes 16-bit and 32-bit drivers to support Windows-based ASPI clients and applications.
Although Windows 95 can use Windows NT miniport drivers, the best choice for a SCSI driver is one that complies with Plug and Play. Most Windows NT miniport drivers ignore configuration information from the SCSI Manager and check I/O ports to identify hardware. Miniport drivers in Windows 95 must honor configuration information without scanning for other adapters if the configuration information is not the default configuration. This is because many adapters supported under Windows 95 have port ranges that conflict with other adapters and are affected adversely by scanning. For example, Artisoft® LANtastic® network adapters occupy a range of port addresses used by Adaptec 154X adapters, and accessing these ports will cause the system to lock up.
Windows 95 provides several .MPD files with Plug and Play capabilities, including the ability to transition from protected mode to real mode (to support MS-DOS – based applications that must run in MS-DOS Mode) and to accept configuration information from the SCSI Manager for dynamically loading and unloading drivers.
For information about troubleshooting SCSI devices, see Chapter 19, "Devices."
Windows 95 provides protected-mode support for communicating with floppy disk controllers. Windows 95 provides INT 13 hard disk controller support as 32-bit device drivers, which results in improved performance, stability, and system robustness.
Windows 95 provides floppy disk controller support as a 32-bit device driver, and offers improved performance for file I/O to floppy disk drives, plus improved reliability of the system. You can now format a disk or copy files to and from a disk while performing other tasks.
Windows 95 provides protected-mode support for removable media devices with MS-DOS – compatible partitions, including floppy disk drives and controllers, Bernoulli drives, and CD-ROM, plus docking stations for portable computers. Windows 95 allows the system to lock or unlock the device to prevent the media from being removed prematurely.
Windows 95 also supports an eject mechanism for devices that support it, so that users can use software control to eject media from a device (for example, new floppy disk drives that support software-based media ejection).
Docking refers to the insertion or removal of a device in the system. Devices that can be docked include almost anything, depending on the hardware — monitors, network access, removable hard disk drives, or any removable resource. A docking station is a base unit into which you can insert the portable hardware and which includes drive bays, expansion slots, and additional ports. Port replicators can also be used as docking station substitutes that provide extra functionality not available in the portable docking device.
If a docking change occurs in the computer configuration during operation, such as the insertion of a portable computer into the docking station, the system is notified so that the new device can be configured and applications can be notified of the change.
Windows 95 supports "hot" docking, where the device can be docked or undocked while running at full power, and "cold" docking, where the device must be powered off or restarted before the device can be docked or undocked. Legacy portable computers use cold docking.
In addition, some devices require certain preliminary steps before they can be docked or undocked. For example, if you have a file open and decide to remove the hard disk, the file must be closed. To handle these situations, Windows 95 supports different undocking systems, depending on the type of hardware:
A non-SCSI port driver usually works with a specific adapter, so the driver is retained in memory only if the related adapter is present in the system. Windows 95 includes, for example, port drivers for IDE, ESDI, or NEC floppy disk drives.
A port driver provides the same functionality as the SCSI Manager and miniport driver, but these drivers are monolithic and are not portable to Windows NT. A port driver manages and controls the adapter for a given block device. The port driver detects and initializes the adapter, handles interrupts, transmits I/O requests to the device, and carries out adapter-level error recovery and logging.
Important Do not use a device= entry in SYSTEM.INI to load a port driver. Windows 95 loads appropriate drivers from the SYSTEM\IOSUBSYS subdirectory in the Windows directory.