首页 理论教育 硬盘数据恢复:磁盘扇区定位技术

硬盘数据恢复:磁盘扇区定位技术

更新时间:2025-01-18 工作计划 版权反馈
【摘要】:由文件分配表FAT的结构可知,对文件空间的分配是以“簇”为分配单位的。因此,簇的大小是以提高文件访问速度和充分利用磁盘空间为原则加以确定的。可以通过簇号很方便换算成逻辑扇区号,从而实现扇区定位。这些参数见表2.3,现以1.44M软盘和540M硬盘为例来计算B值:B软1.44M=1+2×+112项×/=1+18+14=33扇B硬540M=1+2×+512项×/=1+258+32=291扇因此,由已知簇号转换成逻辑扇区号的步骤如下。其差乘以每簇的扇区数。表2.8给出几种磁盘类型的扇区定位范围。

由文件分配表FAT的结构可知,对文件空间的分配是以“簇”为分配单位的。一簇常占有多个扇区长,从簇号如何转换成扇区号,这就是扇区定位要解决的问题。

一簇究竟占有多少扇区长度才算合适呢?从磁盘空间的充分利用来说,应是占较少扇区才合适,例如一个文件占用磁盘空间的簇数为:

C=[文件长度/每簇字节数]取整+1

显然存放簇链最末簇写入数据的数量是随机的,没被使用的空间就白白浪费掉了,并且只要文件在磁盘上保持不变,它永远不能被使用。这个浪费的空间称为内部残片(INTERNAL FRAGMENTATION)。平均说来,最后一个簇将使用一半,而另一半空间将浪费掉。由于平均每个文件浪费半个簇。因此由残片造成的浪费空间的总数是文件个数乘以簇的大小的一半。这样看来,似乎簇越小,浪费空间也就越小。但是簇若太小,一方面使磁盘总簇数增加,从而会加大FAT的空间开销,造成另一种空间浪费;另一方面,簇越少,一个文件占用的簇数增加,簇链加长,因而增加了访问文件的时间,造成了时间浪费。此外,由于整个FAT要驻留在内存中,适宜于用较小的FAT 和较大的簇。因此,簇的大小是以提高文件访问速度和充分利用磁盘空间为原则加以确定的。随着硬件技术的发展,访问速度的提高更是人们感兴趣的事了。

在磁盘操作时,为提高访盘的速度,总是尽量减少磁头的移动次数,磁盘的逻辑扇区编号就是按照这个原则产生的。显然,扇区的逻辑编号是编辑连续的。而实际分配给文件的扇区号并不一定是连续的(图2.4)。可以通过簇号很方便换算成逻辑扇区号,从而实现扇区定位。下面给出有关扇区定位的公式。

簇号计算逻辑扇区号的公式是:

式中:S为待求逻辑扇区号;C为已知簇号;P为每簇扇区数;B为数据区起始逻辑扇区号。

按照磁盘文件内部结构,B应是引导扇区、FAT区、根目录区三者所占扇区之和,即系统占用的扇区数,因此B的计算公式为:

B=1+FAT表个数×每个FAT占用扇区数+根目录占用扇区数

计算这些所需磁盘参数值都可在引导扇区中找到。这些参数见表2.3,现以1.44M软盘和540M硬盘为例来计算B值:(www.xing528.com)

B软1.44M=1+2×(9扇/FAT)+112项×(32字节/项)/(512字节/扇)=1+18+14=33扇

B硬540M=1+2×(129扇/FAT)+512项×(32字节/项)/(512字节/扇)=1+258+32=291扇

因此,由已知簇号转换成逻辑扇区号的步骤如下。

(1)从簇号中减去2(数据中第一个可分配的簇号总是2)。

(2)其差乘以每簇的扇区数。

(3)其积加上数据区起始的逻辑扇区号。

表2.8给出几种磁盘类型的扇区定位范围。

表2.8 磁盘扇区定位范围(DOS3.XX)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈