如何获取文件块的物理地址,进而判断啊文件在磁盘中是否是碎片的问题

一. 磁盘地址概念

最早采用的是C/H/S(Cylinder/Head/Sector)寻址模式,它依据柱面数(Cylinders)、磁头数(Heads)、扇区数(Sectors)构成的绝对地址来寻址的,也称为物理地址。通常DOS将“柱面/磁头/扇区”这样表示法称为“绝对扇区”表示法,但DOS不能直接使用绝对扇区进行磁盘上的信息管理,而是用所谓“相对扇区”或“DOS扇区”——即按扇区号,磁头号,柱面号(磁道号)增长的顺序连续地分配DOS扇区号。CHS寻址模式下,相对扇区号按照固定格式运算得到cylinder head sector参数。

在早期的硬盘中,由于每个磁道的扇区数相等,外磁道的记录密度远低于内磁道,因此造成很多磁盘空间的浪费。为了解决这一问题,人们改用等密度结构,即外圈磁道的扇区比内圈磁道多。此种结构的硬盘不再具有实际的3D参数,寻址方式也改为以扇区为单位的线性寻址,这种寻址模式便是LBA(Logic Block Address, 逻辑块地址)。在这种模式下,硬盘的物理地址与逻辑地址的转换问题有一定必要性和复杂性,LBA由于内外磁道扇区数不同,所以根据LBA模式得到C/H/S参数的运算比CHS寻址模式下的运算更复杂。

所以为了使用C/H/S寻址的老方式兼容,硬盘内部有一个专用的地址转换机构,它负责绝对地址C/H/S参数与相对地址LBA(线性寻址)相互的转化工作。

假设一磁盘有100个柱面,2个磁头(磁面),每个磁面的每个磁道有60个扇区,那么相对地址LBA编排规律如下:

1. 先按照扇区

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值