关于FAT分区文件系统各相关要素的计算分配
一、FAT分区的内容组成:FAT文件系统将分区分为如下几个部分:
1.DBR;2.FAT3;(3.FDT;)4.DATA;5.Idel Space。当一个分区大小确定以后,这几个区域的位置也就大致确定了下来。
二、几个区域的相互位置及大小:
1.DBR:总是从分区的第一个扇区开始,其大小为32-38 sectors(FAT16为2扇区);它的大小也就是DBR的BPB参数表中偏移0e处的隐含扇区数。
2.剩余扇区(Idel Space):分区后边不能利用的扇区,通常与分区内簇的大小有关。
设:DATA为自数据区开始,至分区结束的扇区数。数据区的有效扇区数为S(d),分区剩余扇区数为S(i),分区簇的大小为m
DATA = S(d) + S(i)…………(1)
S(i) = DATA mod m …………(2)
其中,mod为模取运算符。
3.FAT:由两个大小相同的部分组成,其中后一个为前一个的备份。其具体大小是可变。其位置总是位于DBR之后。
4.FDT(DATA):在FAT16中,FDT大小为固定的32扇区。在FAT32中,FDT已经成为的数据区(DATA)的一部分,位于DATA的最前边,其大小已不限于32扇区。FDT(DATA)的起始位置(相对于FAT32,就是DATA的开始)相对是不太固定的。
三、FAT分区的DATA的大小及起始位置计算方法:
设:分区扇区总数为S总,则有下式成立:
S总= DBR + 2*FAT + DATA …………(3)
2*FAT + DATA = S总 - DBR …………(4)
因为 数据区总簇数= {DATA / m},则每个FAT所占扇区数为:
FAT={DATA/m/a}…………(5)
这里{ }表示向上取整运算;a为每FAT扇区能表示和簇数,相对于FAT16/32,a分别取值256、128。
将式(5)代入式(4),于是有:
2*{DATA/m/a}+ DATA = S总 -DBR…………(6)
对于任何一个分区来说,如果分区大小及簇大小一经确定,式(6)的右边就成为了一个常量,所剩下的惟一一个未知因数DATA也就得以确定。
分区剩余扇区数S(i)由式(2 )确定,而FAT所占用的扇区数是由式(5)确定的。
此贴为原创。同时在《中国硬盘基地》和《雨荷数据安全技术论坛》发布。
[ 本帖最后由 reeker 于 2009-2-13 05:20 编辑 ] 不错!!!!好帖。两边一起支持!!!!!!!! 挺不错的 好~~~~~~~~~~~~~~~~~~ 进来支持下。。不错 支持一下,谢谢楼主 不支持一下不行啊 借鉴、学习和参考 借鉴、学习和参考
页:
[1]