FAT文件系统总结(三)
七、 FAT 表结构 FAT 表(File Alloacation Table)是一一对应于数据簇号的列表。文件系统分配磁盘空间按簇来分配。因此,文件占有磁盘空间时,基本单位不是字节而是簇, 即使某个文件只有一个字节,操作系统也会给它分配一个最小单元:即一个簇。为了可以将磁盘 空间有序地分配给相应的文件,而读取文件的时候又可以从相应的地址读出文件,我们可以把数 据区空间分成 BPB_BytsPerSec*BPB_SecPerClus 字节长的簇来管理,FAT 表项的大小与 FAT 表的类型有关,FAT12 的表项为 12bit ,FAT16 为 16bit, 而 FAT32 则为 32bit。对 于大文件,需要分配多个簇。同一个文件的数据并不一定完整地存放在磁盘中一个连续地区域 内,而往往会分若干段,像链子一样存放。这种存储方式称为文件的链式存储。为了实现文件的 链式存储,文件系统必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存 储后继内空的下一个簇的簇号,对于文件的最后一簇,则要指明本簇无后继簇。这些都是由 FAT 表来保存的,FAT 表的对应表项中记录着它所代表的簇的有关信息:诸如是空,是不是坏簇,是 否是已经是某个文件的尾簇等。
以 FAT16 为例说明 FAT 的结构如下:
|