A key architectural component of Windows 95 is its layered installable file system (IFS). Under MS-DOS and Windows 3.1, applications and system components that needed to handle file I/O requests had to hook into INT 21h to examine and evaluate those requests. Windows 95 supports file-system drivers as ring 0 components, instead of as real-mode MS-DOS drivers. In addition to the performance and reliability advantages of a 32-bit protected-mode architecture, the IFS can support multiple network redirectors for simultaneous access to different networks. Windows 3.1 could support no more than two network redirectors at a time.
The IFS supports the 32-bit virtual file allocation table (VFAT) driver, the 32-bit CD-ROM f
ile system (CDFS) driver, and integrated 32-bit network redirectors for Windows NT and NetWare servers. With an IFS, third-party vendors can add file systems under the IFS Manager -- for example, to support other network OSes (NOSes).
Applications and system components can now access the hard disk file system through VFAT, a 32-bit protected-mode driver that is reentrant and multithreaded. In addition, the Windows 95 block I/O system supports a 32-bit, protected-mode port driver for communicating to specific drive controllers. For SCSI devices, Windows 95 integrates a SCSI layer to handle high-level SCSI calls. The combination of VFAT and the block I/O system opens a protected-mode 32-bit code path to hard disk files.
The VFAT also supports the new caching architecture of Windows 95. VCACHE, a 32-bit protected-mode cache driver that replaces real-mode SmartDrive, dynamically allocates memory for disk caching. CDFS replaces real-mode MSCDEX and requires no conventional memory. The CDFS cache shares
its memory pool with the VFAT driver and, like VCACHE, is dynamic. During heavy CD-ROM usage, the system allocates more memory to the CDFS cache and returns the memory when an application requires it.