文件分配表
一个分区分成同等大小的簇,也就是连续空间的小块。簇的大小随着FAT文件系统的类型以及分区大小而不同,典型的簇大小介于2KB到32KB之间。每个文件根据它的大小可能占有一个或者多个簇;这样,一个文件就由这些这些(称为单链表)簇链所表示。然而,这些链并不一定一个接着一个在磁盘上存储,它们经常是在整个数据区域零散的储存。
文件分配表(FAT)是映射到分区每个簇的条目列表。每个条目记录下面五种信息中的一种。
1、链中下一个簇的地址
2、一个特殊的文件结束符(EOF)符号指示链的结束
3、一个特殊的符号标示坏簇
4、一个特殊的符号标示保留簇
5、0来表示空闲簇
每个版本的FAT文件系统使用不同大小的FAT条目。这个大小已经由名字表示出来,例如FAT16文件系统的每个条目使用16位表示,32位文件系统使用32位表示。这个不同意味着FAT32系统的文件分配表能比FAT16映射更多的簇,它也允许FAT32有更大的分区大小。这也使得FAT32比FAT16更能有效地利用磁盘空间,因为每个驱动器能够寻址更小的簇,这也就意味着更少的空间浪费
下面来个实例:如图
图中以FAT16为例,其中FAT1,FAT2就是文件分配表,1和2内容一样,FAT2是FAT1的一个备份,下面我们来看一下FAT表的十六进制结构:
这就是FAT表,图中每二字节代表一个地址,二字节的数字代表一个文件的下一个簇地址,以FFFF结束文件簇链,表示一个文件的结束。