欢迎访问文稿网!

硬盘物理地址和逻辑地址的转换

范文之家 分享 时间: 加入收藏 我要投稿 点赞

硬盘物理地址和逻辑地址的转换

    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。

221381
领取福利

微信扫码领取福利

微信扫码分享