您当前的位置:首页 > 计算机 > 文件格式与编码

FAT16文件系统根目录与子目录的管理

时间:01-02来源:作者:点击数:

FAT16文件系统对于根目录下文件的管理,统一在FDT区为这些文件创建目录项,并由FAT为文件的内容分配簇存放数据。

具体看一个例子,目前在G盘根目录下有一个文件“fat16.txt”,我们看FAT16文件系统如何管理这个文件。

第1步 定位DBR。

通过分区表定位到G盘的开始位置,在63号扇区,这个扇区就是G盘的DBR扇区。

第2步 定位FDT。

访问DBR扇区的BPB,通过“DBR保留扇区数”、“每FAT扇区数”两个参数的值便可计算出FDT的开始扇区,具体算法在前面讲解过。

第3步 定位目录项。

找到FDT后,通过文件名定位到目标文件的目录项,其目录项如图4-250中的阴影部分所示。

FAT16文件系统根目录与子目录的管理
图4-250 目标文件的目录项

该目录项的模板如图4-251所示。

FAT16文件系统根目录与子目录的管理
图4-251 目录项的模板

从模板中可以看到文件开始簇号为5,文件大小为320字节。

第4步 定位FAT。

因为文件开始于5号簇,其下一簇的簇号在FAT表中5号FAT项里存放着,所以通过DBR的BPB参数“DBR保留扇区数”定位FAT1的开始扇区,并跳转过去,找到5号FAT项,其数值如图4-252所示。

FAT16文件系统根目录与子目录的管理
图4-252 FAT1的开始扇区

图4-252中阴影部分就是FAT1的5号FAT项,数值为“FF FF”,说明是个结束标志,所以文件“fat16.txt”只占用1个簇,就是5号簇。

第5步 定位数据区。

确定了文件存放在数据区的5号簇,最后就该去5号簇查看数据了。因为数据区中的簇从2开始编号,所以5号簇所对应的扇区号计算方法如下:

DBR保留扇区数 + 2×每FAT扇区数 + FDT占用扇区数(一般为32)+(5−2)×每簇扇区数

计算出结果后跳转过去,内容如图4-253所示。

FAT16文件系统根目录与子目录的管理
图4-253 文件的内容

因为文件大小是320字节,所以从5号簇的第一个字节起,连续的320字节就是文件“fat16.txt”的内容,即图4-253中的阴影部分。

以上就是FAT16文件系统根目录的管理,其子目录的管理与FAT32文件系统类似,请读者参见FAT32部分的4.5.6节的“2.子目录的管理”。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门