Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
File Allocation Table
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Technical details == <span id="Technical design"></span><!-- N.B.: Parked formerly used anchors here to maintain link integrity for as long as not all incoming links have been fixed up to point to [[Design of the FAT file system]] instead. --> {{anchor|Layout|RSVD_SECTORS|DATA_AREA}} {{anchor|Boot Sector|Bootsector|BSIBM_OFS_000h|BSIBM_OFS_003h|BSIBM_OFS_1FDh|BSIBM_OFS_1FEh|BSST_OFS_000h|BSST_OFS_002h|BSST_OFS_008h|BSST_OFS_1FEh}} {{anchor|BSMSX_OFS_000h|BSMSX_OFS_003h|BSMSX_OFS_01Eh|BSMSX_OFS_020h|BSMSX_OFS_026h|BSMSX_OFS_027h|BSMSX_OFS_02Bh|BSMSX_OFS_030h|BSMSX_OFS_1FEh}} {{anchor|BIOS Parameter Block|BPB|BPB20|BPB20_OFS_00h|BPB20_OFS_02h|BPB20_OFS_03h|BPB20_OFS_05h|BPB20_OFS_06h|BPB20_OFS_08h|BPB20_OFS_0Ah}} {{anchor|media|BPB20_OFS_0Bh|BPB30|BPB30_OFS_0Dh|BPB30_OFS_0Fh|BPB30_OFS_11h|BPB32|BPB32_OFS_13h|BPB331|BPB331_OFS_0Dh}} {{anchor|BPB331_OFS_0Fh|BPB331_OFS_11h|BPB331_OFS_15h}} {{anchor|Extended BIOS Parameter Block|EBPB|EBPB_OFS_19h|EBPB_OFS_1Ah|EBPB_OFS_1Bh|EBPB_OFS_1Ch|EBPB_OFS_20h|EBPB_OFS_2Bh}} {{anchor|FAT32 Extended BIOS Parameter Block|EBPB32|EBPB32_OFS_19h|EBPB32_OFS_1Dh|EBPB32_OFS_1Fh|EBPB32_OFS_21h|EBPB32_OFS_25h|EBPB32_OFS_27h|EBPB32_OFS_29h|EBPB32_OFS_35h}} {{anchor|EBPB32_OFS_36h|EBPB32_OFS_37h|EBPB32_OFS_38h|EBPB32_OFS_3Ch|EBPB32_OFS_47h}} {{anchor|Exceptions|FATID|FS Information Sector|File Allocation Table|CLUST_0|CLUST_1|BAD_CLUST|FAT_EOC}} {{anchor|Directory table|DIR|Directory entry|DIR_OFS_00h|DIR_OFS_08h|DIR_OFS_0Bh|attributes|DIR_OFS_0Ch|DIR_OFS_0Dh|DIR_OFS_0Eh}} {{anchor|Format_Time|DIR_OFS_10h|Format_Date|DIR_OFS_12h|DIR_OFS_14h|access rights|DIR_OFS_16h|DIR_OFS_18h|DIR_OFS_1Ah|DIR_OFS_1Ch}} {{anchor|VFAT long file names|VFAT_OFS_00h|VFAT_OFS_01h|VFAT_OFS_0Bh|VFAT_OFS_0Ch|VFAT_OFS_0Dh|VFAT_OFS_0Eh|VFAT_OFS_1Ah|VFAT_OFS_1Ch|Size limits|Fragmentation}} {{Main|Design of the FAT file system}} The file system uses an index table stored on the device to identify chains of data storage areas associated with a file, the ''[[Design of the FAT file system#FAT|File Allocation Table]]'' (''FAT''). The FAT is statically allocated at the time of formatting. The table is a [[linked list]] of entries for each ''[[cluster (file system)|cluster]]'', a contiguous area of disk storage. Each entry contains either the number of the next cluster in the file, or else a marker indicating the end of the file, unused disk space, or special reserved areas of the disk. The ''root directory'' of the disk contains the number of the first cluster of each file in that directory. The operating system can then traverse the FAT, looking up the cluster number of each successive part of the disk file as a ''cluster chain'' until the end of the file is reached. ''Sub-directories'' are implemented as special files containing the ''directory entries'' of their respective files. Each entry in the FAT linked list is a fixed number of bits: 12, 16 or 32. The maximum size of a file or a disk drive that can be accessed is the product of the largest number that can be stored in the entries (less a few values reserved to indicate unallocated space or the end of a list) and the size of the disk cluster. Even if only one byte of storage is needed to extend a file, an entire cluster must be allocated to it. As a result, large numbers of small files can result in clusters being allocated that may contain mostly "empty" data to meet the minimum cluster size. Originally designed as an 8-bit file system, the maximum number of clusters must increase as disk drive capacity increases, and so the number of bits used to identify each cluster has grown. The successive major variants of the FAT format are named after the number of table element bits: 12 ([[#FAT12|FAT12]]), 16 ([[#FAT16|FAT16]]), and 32 ([[#FAT32|FAT32]]).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)