4.1.5 硬盘物理地址和逻辑地址的转换
计算机用户在进行硬盘的故障维护或者进行应用软件开发时,很多情况下都需要对硬盘的物理地址和逻辑地址的值进行转换,以下就介绍它们之间的转换关系。
1.由物理地址计算出逻辑地址
我们分别用符号C、H、S表示硬盘的柱面、磁头和扇区,再假设:
C1=第一个逻辑扇区的柱面数
H1=第一个逻辑扇区的磁头数
S1=第一个逻辑扇区的扇区数
NS=每磁道的扇区数
NH=硬盘的磁头数
硬盘的逻辑扇区可用以下的公式来计算得出:
逻辑扇区=NH×NS×(C−C1)+NS×(H−H1)+(S−S1)
例如有一个4磁头,每磁道17个扇区的硬盘,其中有一个逻辑硬盘D,它的第一个扇区在硬盘的柱面120、磁头1、扇区1上,即:
C1=120,H1=1,S1=1,NS=17,NH=4
柱面160、磁头3和扇区6的逻辑扇区号为:
逻辑扇区=4×17×(160−120)+17×(3−1)+(6−1)=2759
即逻辑扇区号为2759。
2.由逻辑地址计算出物理地址
首先解释两个运算符“div”和“mod”。
div——作除法后取整。
如(7div3)=2。
mod——作整除后取余数。
如(7mod3)=1。
这里仍然用符号C、H和S分别表示硬盘的柱面、磁头和扇区,符号C1、H1、S1、NS和NH的假设与上述相同。若我们知道硬盘的一个逻辑地址即逻辑扇区号(用LS表示),则对应的物理地址即柱面C、磁头H和扇区S可分别由以下公式计算得出:
C=((LSdiv NS)div NH)+C1
H=((LSdiv NS)mod NH)+H1
S=(LSmod NS)+S1
仍然假设有一个4磁头、每磁道17个扇区的硬盘,其中的一个逻辑硬盘D,它的第一个扇区在硬盘的柱面120、磁头1和扇区1上,即:
C1=120,H1=1,S1=1,NS=17,NH=4
现在要求出D盘上逻辑扇区2757(即LS=2757)的物理地址,计算公式如下:
C=((2757 div 17)div 4)+120=160
H=((2757 div 17)mod 4)+1=3
S=(2757mod 17)+1=4
即逻辑扇区2757的物理地址是柱面160、磁头3和扇区4。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。