2024年3月15日发(作者:)
FAT是DOS、WindowsArrayX系统的文件寻址格式,位于DBR之后。
在解释文件分配表的概念的时候,我们有必要谈谈簇(Cluster)的概念。文件占用磁
盘空间,基本单位不是字节而是簇。一般情况下,软盘每簇是 1个扇区,硬盘每簇的扇区
数与硬盘的总容量大小有关,可能是4、8、16、32、64……同一个文件的数据并不一定完
整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种
存储方式称为文件的链式存储。由于硬盘上保存着段与段之间的连接信息(即FAT),操作
系统在读取文件时,总是能够准确地找到各段的位置并正确读出。
为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为
每个已经占用的簇指明存储后继内容的下一个簇的簇号。对一个文件的最后一簇,则要指
明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。
由于FAT对于文件管理的重要性,所以为了安全起见,FAT有一个备份,即在原FAT的后
面再建一个同样的FAT。初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部
损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就
不会再使用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总
簇数相适应,因为其中需要存放簇号。FAT的格式有多种,最为常见的是FAT16和FAT32。
当一个磁盘Format后,在其逻辑0扇区(即BOOT扇区)后面的几个扇区中存在着
一个重要的数据表—文件分配(FAT),文件分配表一式两份,占据扇区的多小凭磁盘类型
大小而定。顾名思义,文件分配表是用来表示磁盘问件的空分配信息的。它不对引导区,
文件目录的信息进行表示,也不真正存储文件内容。
我们知道磁盘是由一个一个扇区组成的,若干个扇区合为一个簇,文件存取是以簇为
单位的,哪怕这个文件只有1个字节。每个簇在文件分配表中都有对应的表项,簇号即为
表项号,每个表项占1.5个字节(磁盘空间在10MB以下)或2个字节(磁盘空间在10MB
以上)。为了方便起见,以后所说的表项都是指 2个字节的。
文件分配表结构如1(H表示16进制)
表1
第0字节 表头,表磁盘类型。FFH双面软盘,每次道8扇区FEH单面软盘,每磁道
8扇区FDH双面软盘,每磁道Array扇区FCCH单面软盘,每磁道Array扇区FC8H硬
盘
第1~2字节 (表项号1)表示第一簇状态,因第一簇被系统占据,故此两字节为FFFFH
第3~4字节 (表项号2)表示第二簇状态,若为FFFH表此簇为坏的,DOS已标记
为不能用;0000H表示此簇为空,可以用;FFF8H表不能示该簇为文件的最后一簇;其余
数字表示文件的下一个簇号,注意高字节在后,低字节在前。
第5~6字节 (表项号3)表示第三簇状态,同上。
注意:
不要把表项内的数字误认为表示当前簇号,而应是该文件的下一个簇的簇号。.高字节
在后,低字节在前是一种存储数字方式,读出时应对其进行调整。是如两字节12H,34H,
应调整为3412H。
文件分配表与文件目录(FDT)相配合,可以统一管理整个磁盘的文件。它告诉系统
发布者:admin,转转请注明出处:http://www.yc00.com/news/1710465513a1761458.html
评论列表(0条)