*** Welcome to piglix ***

Design of the FAT file system

FAT
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:
FAT120x01 e.a.
FAT160x040x060x0E e.a.
FAT320x0B0x0C 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 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.


...
Wikipedia

...