FAT表作用
FAT文件系统将空间按族为单位划分为一个个格子。
FAT即文件系统分配表,它是记录FAT文件系统空间使用情况的一张表。FAT记录了格子的使用情况,每个文件所处格子的位置等信息。同时FAT表可以存储每个格子的状态。
FAT详细信息
- 1.FAT1跟在DBR之后,FAT2跟在FAT1之后中间没有空的扇区。现在来看这个也是一个弊端。一般磁盘物理损坏都是一大片连续的损坏的,因此很可能FAT1坏了,FAT2也一起夭折。
- FAT表由FAT表项构成的,我们把FAT表项简称为FAT项。每个FAT项的大小有12位,16位,32位,三种情况,对应的分别FAT12,FAT16,FAT32文件系统
- 每个FAT项都有一个固定的编号,这个编号是从0开始。
- FAT文件系统一般有两份FAT,它们由格式化程序对分区进行格式化的时候创建,FAT1是活动FAT,FAT2是备份FAT。
- FAT表的前两个FAT项有专门的用途:0号FAT项通常用来存放分区所在的介质类型,例如硬盘的介质类型为“F8”,那么硬盘上分区FAT表第一个FAT项就是以“F8”开始,1号FAT项则用来存储文件系统的肮脏标志,表明文件系统被非法卸载或者磁盘表面存在错误。
- 分区的数据区每一个簇都会映射到FAT表中的唯一一个FAT项。因为0号FAT项与1号FAT项已经被系统占用,无法与数据区的族形成映射,所以从2号FAT项开始跟数据区中的第一个簇映射,正因为如此,数据区中的第一个族的编号为2,这也是没有0号簇与1号簇的原因,然后3号簇与3号FAT项映射,4号簇与4号FAT项映射
- FAT文件系统使用“族链”的数据结构来保存一个文件信息。也就是说,FAT文件系统里面的文件不是连续存储的。很可能是很多个族连接起来的,其连接方式用链表的数据结构形式。
- 分区格式化后,用户文件以簇为单位存放在数据区中,一个文件至少占用一个簇。当一个文件占用多个簇时,这些族的簇号不一定是连续的,但这些簇号在存储该文件时就确定了顺序,即每一个文件都有其特定的“簇号链”。在分区上的每一个可用的簇在FAT中有且只有一个映射FAT项,通过在对应簇号的FAT项内填入“FAT项值”来表明数据区中的该簇是已占用,空闲或者是坏簇三种状态之一。
FAT表中每个FAT项可取的表项值及其含义
FAT项值(FAT12) | FAT项值(FAT16) | FAT项值(FAT32) | 含义 |
---|---|---|---|
000H | 0000H | 00000000H | 未使用的簇 |
002H – FEFH | 0002H - FFEFH | 00000002H – 0FFFFFFEH | 一个已分配的族号 |
FF0H – FF6H | FFF0H – FFF6H | 0FFFFFF0H – 0FFFFFF6H | 保留 |
FF7H | FFF7H | 0FFFFFF7H | 坏簇 |
FF8H - FFFH | FFF8H - FFFFH | 0FFFFFF8H – 0FFFFFFFH | 文件结束簇 |
对于标记为坏族的,文件系统以后就不会去使用。这个也是简单屏蔽坏道的一个原理。
- FAT16文件系统的FAT项是16位的,也就是说每个FAT项占2字节。16位的FAT项最多可管理65535个簇。在Windows 2000系统之前簇最大为64个扇区,这样,采用16位FAT的系统最多只能管理32 * 65535 约于 2G的分区。现在簇大小可以达到128个扇区,这样FAT16就可以管理4G的分区了。
10.FAT表的大小是不固定的,其会根据分区大小,族大小,在格式化的时候预留好这部分空间。
族
族:族是文件系统管理空间的一个单位,在格式化的时候,就制定了族的大小,如图所示。