This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.
| FAT file system | |
|---|---|
| Name | FAT |
| Introduced | 1977 |
| Developer | Microsoft |
| Type | File allocation table |
| Filename character set | ASCII |
| Dir entry | 32 bytes |
| Max filename | 255 (VFAT) |
| Sector size | 512–4096 bytes |
| Website | Microsoft |
FAT file system
The FAT file system is a family of file systems originally developed for the MS-DOS operating system and later adopted across a wide range of devices and platforms. It was created to manage files on floppy disks, hard drives, and removable media, and became ubiquitous in personal computing, embedded systems, and digital cameras. Over several decades FAT influenced filesystems used by Microsoft, IBM, Novell, and numerous hardware manufacturers, shaping interoperability standards across the computing industry.
FAT traces its origin to work by Microsoft engineers for Seattle Computer Products and the Microsoft BASIC era of the 1970s, becoming critical during the rise of MS-DOS and early IBM PC hardware. The format evolved alongside milestones such as the introduction of the IBM PC/AT and the expansion of hard drive capacities during the 1980s, prompting revisions to the allocation table and directory structures. During the 1990s FAT variants were standardized in collaboration with companies like Microsoft and Intel to support the needs of Windows 95, portable devices, and the emerging PCMCIA and USB standards. Adoption by camera makers such as Kodak and consumer electronics firms helped FAT remain prevalent into the 21st century as a cross-platform interchange format.
At its core FAT relies on a File Allocation Table index and a root directory region stored on a block device; this structure was designed for simplicity to support early microprocessors like the Intel 8086 and later Intel 80286 families. The architecture separates the boot sector, FAT copies, root directory entries, and data region to enable recovery and redundancy used by utilities from Microsoft and third-party vendors such as Symantec and Norton. The design emphasizes linear cluster chains identified by entries in the table, enabling sequential access patterns favored by early applications such as WordPerfect and Lotus 1-2-3. Simplicity allowed firmware teams at companies like Canon and Nikon to implement FAT on cameras and storage controllers with limited ROM and RAM budgets.
FAT developed into multiple variants to address growing storage needs: early implementations are associated with MS-DOS 1.25 and MS-DOS 2.0, while larger-disk support led to FAT12, FAT16, and eventually FAT32 introduced with Windows 95 OSR2. Extended naming and long filename support was provided by the VFAT extension used in Windows 95 and later Windows NT releases, enabling interoperability with graphical file managers such as File Explorer. Other derivative formats and compatibility layers were produced by companies like Microsoft and Digital Research to bridge legacy systems and modern hardware, with toolchains and drivers for Linux kernel, FreeBSD, and embedded RTOS environments.
FAT operations revolve around cluster allocation, chain traversal, and directory entry manipulation; key data structures include the BIOS Parameter Block in the boot sector, multiple FAT copies, and 32-byte directory entries storing timestamps and file attributes used by Windows NT and similar operating systems. The table encodes end-of-chain markers and bad-cluster indicators, enabling utilities such as CHKDSK from Microsoft and third-party recovery tools to detect corruption and attempt repairs. Long filename entries use reserved directory slots with specially encoded UTF-16 data similar in intent to filename handling in Unicode-aware systems, while file attributes interoperate with access control semantics used in Windows and legacy MS-DOS programs.
FAT’s simple on-disk layout fostered broad support in operating systems and firmware across ecosystems: native drivers exist in Microsoft Windows, Linux kernel, macOS, FreeBSD, and many embedded OSes used in devices from Panasonic to Seagate. Hardware standards such as USB Mass Storage Class and SD Association specifications reference FAT for cross-device interoperability, and firmware implementations in controllers from vendors like Intel and Marvell often include FAT parsing code. Interchangeability made FAT the de facto format for removable media, enabling data exchange between systems such as Nintendo, Sony, and PC platforms without vendor-specific utilities.
Critics highlight FAT’s lack of modern features such as journaling, fine-grained permissions, and robust metadata compared to systems like NTFS, ext4, and ZFS. The simple allocation strategy leads to fragmentation and inefficient space utilization on large volumes, prompting introduction of alternatives by companies like Microsoft and communities around Linux. Security limitations include weak access control suited to early MS-DOS environments rather than multiuser UNIX-style models, and limited resilience to sudden power loss compared to journaled file systems developed by organizations like Sun Microsystems and projects such as OpenZFS.
Despite limitations, FAT remains widely used for removable storage on devices from Canon EOS cameras to Raspberry Pi boot partitions, and is mandated by standards bodies when maximum compatibility is required, such as in SDXC and USB flash drive ecosystems. Its ubiquity supports cross-platform workflows between Windows, macOS, and Linux workstations, and it is embedded in firmware stacks for networking equipment from Cisco Systems and consumer electronics by firms like Samsung. Specialized utilities and libraries maintained by communities around GitHub and vendors like Microsoft continue to provide tooling for maintenance, recovery, and interoperability with legacy and modern computing environments.
Category:File systems