Re: Microsoft FAT 32.

Bruce Murphy (packrat@iinet.net.au)
Tue, 30 Jul 1996 20:13:58 +0800


Hello, I wasn't sure if you had seen this, btu I thought that I should
pass it on anyway. Mike might find it interesting.

> >This very interesting Article is about the 32-Bit File System that is
> >being developed by Microsoft at the moment:

> >Market Bulletin
> >Windows Product Team, May 1996

> >The FAT32 File System

> >This market bulletin is intended to help customers understand
> >Microsoft's FAT32 file system for Windows 95, which is due to start
> >shipping with new PC's equipped with Windows 95 in the fall of 1996.

> >The existing File Allocation Table (FAT) file system was invented in
> >1977 as a way to store data on floppy disks for Microsoft Stand-alone
> >Disk Basic. Although originally intended for floppy disks, FAT has
> >since been modified to be a fast, and flexible system for managing
> >data on both removable and fixed media.

> >A new generation of very large hard disks will soon be shipping, and
> >the existing FAT data structures have finally reached the limit of
> >their ability to support ever larger media. FAT currently can support
> >a single disk volume up to 2 Gigabytes in size. FAT32 is an
> >enhancement of the FAT file system that supports larger hard drives
> >with improved disk space efficiency.

> >FEATURES
> >FAT32 provides the following enhancements over previous
> >implementations of the FAT file system: - Supports drives up to 2
> >Terabytes in size. - Uses space more efficiently. FAT 32 uses smaller
> >clusters (e.g. 4kb clusters for drives up to 8GB in size), resulting
> >in 10 to 15% more efficient use of disk space relative to large FAT
> >drives. - More robust. FAT32 has the ability to relocate the root
> >directory and use the backup copy of the FAT instead of the default
> >copy. In addition, the boot record on FAT32 drives has been expanded
> >to include a backup of critical data structures. This means that FAT32
> >drives are less susceptible to a single point of failure than existing
> >FAT volumes. - More flexible. The root directory on a FAT32 drive is
> >now an ordinary cluster chain, so it can be arbitrarily large and
> >located anywhere on the drive. In addition, FAT mirroring can be
> >disabled, allowing a copy of the FAT other than the first one to be
> >active. These features allow for dynamic resizing of FAT32 partitions.
> >Note, however, that while the FAT32 design allows for this capability,
> >it will not be implemented by Microsoft in the initial release.

> >COMPATIBILITY CONSIDERATIONS
> >In order to maintain the greatest compatibility possible with existing
> >applications, networks and device drivers, FAT32 was implemented with
> >as little change as possible to Windows 95's existing architecture,
> >internal data structures, Application Programming Interfaces (APIs)
> >and on-disk format. However, because 4 bytes are now required to store
> >cluster values, many internal and on-disk data structures and
> >published APIs have been revised and/or expanded. In some cases,
> >existing APIs will fail on FAT32 drives. Most applications will be
> >unaffected by these changes. Existing utilities and drivers should
> >continue to work on FAT32 drives. However, MS-DOS block device drivers
> >(e.g. ASPIDISK.SYS) and disk utilities for these will need to be
> >revised to support FAT32 drives.

> >All of Microsoft's bundled disk utilities (Format, FDISK, Defrag,
> >MS-DOS and Windows ScanDisk, and DriveSpace) have been revised to work
> >with FAT32. In addition, Microsoft is working with leading device
> >driver and disk utility vendors to support them in revising their
> >products to support FAT32.

> >PERFORMANCE
> >For most users, FAT32 will have a negligible performance impact. Some
> >applications may see a slight performance gain from FAT32. In other
> >applications, particularly those heavily dependent on large sequential
> >write operations, FAT32 may result in a modest performance
> >degradation. The overall effect on raw disk performance is less than
> >5% however, and the overall impact on application performance as
> >measured by WinStone is typically less than 1%.

> >DUAL-BOOT PERSONAL COMPUTERS
> >At this time, Windows 95 OEM Service Release 2 is the only operating
> >system capable of accessing FAT32 volumes. Windows 3.1, MS-DOS and the
> >original version of Windows 95 will not recognize FAT32 partitions,
> >and thus they are unable to boot from a FAT32 volume. Microsoft's
> >plans for supporting FAT32 in Windows NT are still being determined,
> >but at this time, Windows NT is unable to access, or dual boot from,
> >FAT32 volumes. At minimum, Microsoft will provide a utility to convert
> >a FAT32 volume to an NTFS volume.

> >Customers who run Windows 95 in real mode (for example, to run a game)
> >will be able to use FAT32 volumes, however.

> >CREATING FAT32 DRIVES
> >In OEM Service Release 2, if you run the FDISK utility on a system
> >with a drive over 512MB, it will ask whether to enable large disk
> >support. If you answer yes, any partition you create that's greater
> >than 512MB will be marked as a FAT32 partition.

> >WHY NOT JUST ADD NTFS TO WINDOWS 95?
> >NTFS is an advanced file system, with support for many features not
> >present in FAT32, including per-file compression, security and
> >transactioning. It is not feasible to implement NTFS within the memory
> >and compatibility constraints of the Windows 95 platform. Windows 95
> >still supports real-mode MS-DOS for booting and running some MS-DOS
> >based games. Adding NTFS support to the MS-DOS kernel would have
> >required a significant amount of MS-DOS memory, and thus would have
> >precluded the use of many MS-DOS mode games and applications.
> >Protect-mode only support for NTFS would not have allowed Windows to
> >boot from an NTFS volume.

> >TECHNICAL IMPLEMENTATION
> >Because of the compatibility considerations described above, the
> >implementation of FAT32 involved very little change to Windows 95. The
> >major differences between FAT32 and earlier implementations of FAT are
> >as follows: - Two new partition types are defined: 0xB and 0xC. Both
> >indicate FAT32 volumes; type 0xC indicates a FAT32 partition that
> >requires Extended Int13h support (LBA). - The boot record on FAT32
> >drives requires 2 sectors (due to expansion and addition of fields
> >within the BPB). As a result, the number of reserved sectors on FAT32
> >drives is higher than on FAT16, typically 32. This expanded reserved
> >area allows two complete copies of the boot record to be stored there,
> >as well as a sector in which the free space count and other file
> >system information is stored. - The FAT is now larger, because each
> >entry now takes up 4 bytes and there are typically many more clusters
> >than on FAT16 drives. - The root directory is no longer stored in a
> >fixed location. A pointer to the starting cluster of the root
> >directory is stored in the extended BPB. - The on-disk format for
> >directory entries is unchanged, except that the two bytes previously
> >Reserved for Extended Attributes now contain the high order word of
> >the starting cluster number. - MS-DOS APIs that rely on intimate
> >knowledge of the file system layout generally fail on FAT32 drives.
> >For instance, GetDPB (Int 21h, function 32h), Int 25/26h Absolute Disk
> >Read/Write, and most of the Int 21h, function 440Dh IOCTLs will fail
> >on FAT32 drives. New forms of these APIs are provided in OEM Service
> >Release 2 which work on all FAT drives. - Win32 APIs are not affected
> >by FAT32, with the exception of one additional API called
> >GetFreeSpaceEx() for determining the true free space on a FAT32
> >volume.

-- 
Packrat (BSc/BE;COSO;Wombat Implementor)
Nihil illegitemi carborvndvm.