File Allocation Table
(fat)
A system used to catalog the location of all portions of files on a disk. Files are rarely stored in contiguous locations on a disk so the FAT keeps track of the various segments. In each disk partition (normally seen as a drive letter) are clusters and each cluster is one or more sectors on the disk (the number varies with the partition size). Clusters can be free for use or used by a file. The FAT keeps track of which clusters are assigned to files. The directory keeps track of the starting cluster for a file. Two copies of the FAT are generally kept and compared in order to detect disk errors. There are several incarnations of the FAT under DOS and then Windows.
FAT12
This version of the FAT was first introduced in 1977 and was designed for storage on a floppy disk. Cluster addresses were limited to 12-bits long and disk size was a 16-bit count of sectors. This made coding to read or write the FAT complicated. It also limited the size of a supported disk to 32MB. Maximum file size was likewise limited to 32MB and there were a maximum of 4,077 files allowed.
FAT12 survived for a bit over a decade until fully replaced by FAT16 in July 1988 when MS-DOS 4.0 was released.
FAT16
This version of the FAT started with changed made when IBM released the PC AT computer and MS-DOS was released at version 3.0 in 1984. FAT12 was still used but cluster addresses were increased to 16-bit which boosted the total number of clusters allowed to 65,517.
November 1987 saw a change to MS-DOS that removed the 16-bit counter of disk sectors. This version was sponsored by Compaq and became known as Compaq DOS 3.31 or DOS 3.31 Large File System. Microsoft finally incorporated the changes and in 1988 released MS-DOS 4.0 which made FAT16 the norm. Supported cluster sizes increased to 32KB/cluster. Given the sector size of 512 bytes on a disk, this meant the maximum supported hard disk size grew to 2GB (media with larger sector size had a higher limit which further confused the issue).
FAT32
FAT32 is a Windows 95/Windows 98 version of the FAT. With more bits representing clusters and reduced cluster size, larger disks and smaller slack space (unused space at the end of a cluster) produce better storage efficiency.
Basically FAT32 is a FAT with 32-bit cluster numbers with only 28 bits of each actually used. So, while the theoretical maximum disk size with FAT32 is around 2TB, the practical limit was 124.55GB; defined more by the utilities that use this maximum and won't work beyond it. Later operating systems like Windows 2000 and XP can read and write FAT32 disks up to the maximum without loss of data. However, Windows formatting systems are limited to creating subsystems with 32GB maximums; something never really explained by Microsoft.
Probably the biggest problem introduced by FAT32 that is showing up today (2006) is the limit of file size to 4GB minus 1 byte. Since video files can easily exceed this limit, FAT32 becomes a problem for such systems. NTFS should be used instead.
More Information
- Partition Table Tutorial
- Wikipedia FAT Page
- CKnow FAQ: Why Can't I Copy a Large File When Space is Available?
Last Changed: Saturday, February 11, 2006
Navigation: Computer Knowledge Home :: Terms :: F :: FAT
