FAT16文件系统之FAT表浅谈(三)

FAT16文件系统的FAT表分析

1:FAT表的作用及结构特点

                FAT即文件系统分配表,对于FAT文件系统来讲是非常重要的一环。其主要作用如下

(1)      FAT文件系统一般有两份FAT,它们由格式化程序对分区进行格式化的时候创建,FAT1是活动FAT,FAT2是备份FAT。

(2)      FAT1跟在DBR之后,FAT2跟在FAT1之后中间没有空的扇区

(3)      FAT表由FAT表项构成的,我们把FAT表项简称为FAT项。每个FAT项的大小有12位,16位,32位,三种情况,对应的分别FAT12,FAT16,FAT32文件系统。

(4)      每个FAT项都有一个固定的编号,这个编号是从0开始。

(5)      FAT表的前两个FAT项有专门的用途:0号FAT项通常用来存放分区所在的介质类型,例如硬盘的介质类型为“F8”,那么硬盘上分区FAT表第一个FAT项就是以“F8”开始,1号FAT项则用来存储文件系统的肮脏标志,表明文件系统被非法卸载或者磁盘表面存在错误。

(6)      分区的数据区每一个簇都会映射到FAT表中的唯一一个FAT项。因为0号FAT项与1号FAT项已经被系统占用,无法与数据区的族形成映射,所以从2号FAT项开始跟数据区中的第一个簇映射,正因为如此,数据区中的第一个族的编号为2,这也是没有0号簇与1号簇的原因,然后3号簇与3号FAT项映射,4号簇与4号FAT项映射。。。。。。。。。。

(7)      分区格式化后,用户文件以簇为单位存放在数据区中,一个文件至少占用一个簇。当一个文件占用多个簇时,这些族的簇号不一定是连续的,但这些簇号在存储该文件时就确定了顺序,即每一个文件都有其特定的“簇号链”。在分区上的每一个可用的簇在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

文件结束簇

其中损坏的族可以在格式化过程中,由格式化程序发现并记录在相应的FAT项中。在一个簇中,有一个坏的扇区,该簇就不能使用。
(8)FAT16文件系统的FAT项是16位的,也就是说每个FAT项占2字节。16位的FAT项最多可管理65535个簇。在Windows 2000系统之前簇最大为64个扇区,这样,采用16位FAT的系统最多只能管理32 * 65535 约于 2G的分区。现在簇大小可以达到128个扇区,这样FAT16就可以管理4G的分区了。

(8)      综合上面的说明可以看出,FAT表的功能主要有如下:

A:表明分区所在介质类型。FAT表的0号FAT项来表明分区所在的介质类型,该FAT项的首字节与BPB中介质描述符所对就的介质类型相同

B:表明一个文件所占用各簇的簇链分配情况。每个簇在FAT表中映射一个FAT项,FAT项以指针的方式记录在文件的簇。

C:标明可用簇与坏簇。坏簇是在分区格式化时发现的,并把相应的簇表的项写入FFF7H.用户不能使用。

分区上未被使用但可用的“空簇“的FAT项值为0,

FAT16文件系统之FAT表浅谈(三)_第1张图片


你可能感兴趣的:(文件系统)