This section begins with describing the file system of MS-DOS, not Windows3.1 due lack of information source. However most features are considered to be the same since even in Windows95 the compatibility with MS-DOS is maintained. A hard disk of MS-DOS has up to five sections, a primary boot sector and up to four partitions. Each partition may have a different file system, hence Unix and MS-DOS co-exist on a hard disk. The information of each partition's location is stored at the end of the boot sector. As we have learned in the class, all the disk space on the disk is maintained by the File Allocation Table (FAT). The FAT contains one entry corresponding to each block on the disk. The directory entry for a file points to the FAT entry corresponding to the first block of the file. An FAT entry points to another FAT entry which corresponding to the next block of the file. FAT entries for unused blocks and the last blocks of files are given special codes indicating so. The FAT disk management is a modification of the link disk allocation. In the MS-DOS file system, informations of a file (e. g. file name, creation time) are stored in the directory entry, on the other hand, these informations are stored in the i-node in the Unix file system. This feature makes MS-DOS impossible to have multiple links to a single file entity. If more than one directory entry point to a single file, modifying one of them is (e. g. change of protection mode) leads to an inconsistency.
The file system of Window95 has a layered structure and consist of many components to give applications an abstract view of file system, to maintain the compatibility with Windows3.1 or earlier systems, and to accommodate various devices such as CD ROM, network file system. The highest layer (i. e. closest to the applications) is the Installable filesystem (IFS) manager. The IFS converts API calls ( Application programming Interface, system calls in ordinary terminology) from 32-bit applications or INT 21H calls (software trap for I/O devices used in MS-DOS) from 16-bit applications, into appropriate IFS calls, and then passes them to the lower layer, the Filesystem Driver (FSD). One of components in the FSD layer is the VFAT, Virtual FAT. The VFAT implements the FAT file system in the protected mode. FSDs are reentrant codes so that sharing devices are possible. There are possibly many layers below the FSD, and the bottom (closest to the I/O devices) layer can be a port driver, a miniport driver (for SCSI devices), or a real mode driver (for MS-DOS style devices).
A remarkable feature of Windows95 file system is its support for a long file name. The file name in the MS-DOS (and its descendants including Windows3.1) file system has been limited to 8+3 characters (name + extension). Now each file name can have up to 255 characters (260 characters for full path, while 67 characters in earlier systems). Each file must have an entry in the directory with the traditional short name format. The long name entry is associated with the short name entry by the attribute byte in the short name entry. VFAT system takes care of this long name format, and makes it available to MS-DOS applications too. Windows95 also provides Memory Mapped File system; the contents of a file is mapped on the memory space, and processes just need to access the memory space to access and share the file.