(redirected from
Main.FAT12)
FAT is the standard filesystem of x86 based DOS systems.
It has a relatively simple layout with minimal memory needed to access files, while still having reasonable speed to read/write. This filesystem has a table at the beginning which stores chains of clusters (a cluster is collection of 1 or more physical sectors, where a sector is usually 512 bytes and the smallest chunk of data that the API to the physical medium provides) along with marking free and used clusters. A file (and directories) are made up of these cluster chains. Directories (which are special files with a fixed layout) maintain the mapping between file (or directory) names and the start of its cluster chain. To access a file at some path, one starts at a special directory (the root as denoted by \) and for each component in the path maps that name to its cluster chain, reads the corresponding data. For each component in the path this is repeated, determine start of cluster chain and read/write data.
Common variations of FAT are
- FAT12
- original version, stores clusters as 12 bit indices into the allocation table
- FAT16
- revised version for the greater than 32MB disks, uses 16 bit indices, limits partition size to 2 GB, an extension to 4 GB exists
- FAT32
- latest incarnate, while it uses 32 bit cluster entries [note only 28 bits actually used], it also changes the layout to reduce hard coded constraints (such as maximum files available in root directory), file size up to 4 GB, preferred by W98, unsupported by MS-DOS.
See also:
Microsoft's description: incomplete, limited to MS's "Windows" systems.
FAT32
FAT16
FAT-Plus, allows files up to 256GB, written by Free-DOS & DR-DOS developers