Developer(s) | Microsoft, SCP, IBM, Compaq, Digital Research, Novell, Caldera |
---|---|
Full name | File Allocation Table: FAT12 (12-bit version), FAT16 (16-bit versions), FAT32 (32-bit version with 28 bits used), exFAT (64-bit versions) |
Introduced | 1977 (Standalone Disk BASIC-80) FAT12: August 1980 (SCP QDOS) FAT16: August 1984 (IBM PC DOS 3.0) FAT16B: November 1987 (Compaq MS-DOS 3.31) FAT32: August 1996 (Windows 95 OSR2) |
Partition identifier |
MBR/EBR: FAT12: 0x01 e.a. FAT16: 0x04 0x06 0x0E e.a. FAT32: 0x0B 0x0C e.a. BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
Structures | |
Directory contents | Table |
File allocation | Linked list |
Bad blocks | Cluster tagging |
Limits | |
Max. volume size | FAT12: 32 MB (256 MB for 64 KB clusters) FAT16: 2 GB (4 GB for 64 KB clusters) FAT32: 2 TB (16 TB for 4 KB sectors) |
Max. file size | 4,294,967,295 bytes (4 GB - 1) with FAT16B and FAT32 |
Max. number of files | FAT12: 4,068 for 8 KB clusters FAT16: 65,460 for 32 KB clusters FAT32: 268,173,300 for 32 KB clusters |
Max. filename length | 8.3 filename, or 255 UCS-2 characters when using LFN |
Features | |
Dates recorded | Modified date/time, creation date/time (DOS 7.0 and higher only), access date (only available with ACCDATE enabled), deletion date/time (only with DELWATCH 2) |
Date range | 1980-01-01 to 2099-12-31 (2107-12-31) |
Date resolution | 2 seconds for last modified time, 10 ms for creation time, 1 day for access date, 2 seconds for deletion time |
Forks | Not natively |
Attributes | Read-only, Hidden, System, Volume, Directory, Archive |
File system permissions | FAT12/FAT16: File, directory and volume access rights for Read, Write, Execute, Delete only with DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, 4680 OS, 4690 OS, Concurrent DOS, Multiuser DOS, System Manager, REAL/32 (Execute right only with FlexOS, 4680 OS, 4690 OS; individual file / directory passwords not with FlexOS, 4680 OS, 4690 OS; World/Group/Owner permission classes only with multiuser security loaded) FAT32: Partial, only with DR-DOS, REAL/32 and 4690 OS |
Transparent compression | FAT12/FAT16: Per-volume, SuperStor, Stacker, DoubleSpace, DriveSpace FAT32: No |
Transparent encryption | FAT12/FAT16: Per-volume only with DR-DOS FAT32: No |
A FAT file system is a specific type of computer file system architecture and a family of industry-standard file systems utilizing it.
The FAT file system is a legacy file system which is simple and robust. It offers good performance even in very light-weight implementations, but cannot deliver the same performance, reliability and scalability as some modern file systems. It is, however, supported for compatibility reasons by nearly all currently developed operating systems for personal computers and many home computers, mobile devices and embedded systems, and thus is a well-suited format for data exchange between computers and devices of almost any type and age from 1981 up to the present.
Originally designed in 1977 for use on floppy disks, FAT was soon adapted and used almost universally on hard disks throughout the DOS and Windows 9x eras for two decades. Today, FAT file systems are still commonly found on floppy disks, USB sticks, flash and other solid-state memory cards and modules, and many portable and embedded devices. DCF implements FAT as the standard file system for digital cameras since 1998. FAT is also utilized for the EFI system partition (partition type 0xEF) in the boot stage of EFI-compliant computers.
For floppy disks, FAT has been standardized as ECMA-107 and ISO/IEC 9293:1994 (superseding ISO 9293:1987). These standards cover FAT12 and FAT16 with only short 8.3 filename support; long filenames with VFAT are partially patented.