File Allocation Table system structure and operation
The File Allocation Table (FAT) file system is one of the oldest and most widely compatible file systems, originally developed for MS-DOS and still used today in removable media like USB drives and memory cards. FAT uses a File Allocation Table that serves as a linked list of clusters (allocation units) on the disk. The FAT contains entries for each cluster, indicating whether the cluster is free, allocated, bad, or the end of a file chain. FAT comes in several variants: FAT12 (uses 12-bit cluster addresses, suitable for small volumes), FAT16 (16-bit addresses, for medium volumes), and FAT32 (32-bit addresses, for larger volumes). The FAT file system structure includes a boot sector, FAT region (primary and backup copies), root directory, and data region. Files are stored as linked lists of clusters, with the directory entry containing the starting cluster number. FAT is simple and robust but has limitations like lack of built-in security features, no journaling, inefficient storage for large numbers of small files, and file size limitations. Despite its limitations, FAT remains popular due to its excellent cross-platform compatibility, making it ideal for removable storage that needs to work across Windows, macOS, Linux, and other systems.