早教吧作业答案频道 -->其他-->
C/H/S与LBA地址的对应关系?这是从网上看到的一篇文章,如下:C/H/S与LBA地址的对应关系假设用C表示当前柱面号,H表示当前磁头号,Cs表示起始柱面号,Hs表示起始磁头号,Ss表示起始扇区号,PS表示每
题目详情
C/H/S与LBA地址的对应关系?
这是从网上看到的一篇文章,如下:
C/H/S与LBA地址的对应关系
假设用C表示当前柱面号,H表示当前磁头号,Cs表示起始柱面号,Hs表示起始磁头号,Ss表示起始扇区号,PS表示每磁道有多少个扇区,PH表示每柱面有多少个磁道,则有以下对应关系:
LBA=(C-Cs)*PH*PS+(H-Hs)*PS+(S-Ss)
一般情况下,CS=0、HS=0、SS=1;PS=63、PH=255
那么以下四个条件,根据公式计算,如下:
一:C/H/S=0/0/1,代入上述公式中得到LBA=0
二:C/H/S=0/0/63,代入上述公式中得到LBA=62
三:C/H/S=1/0/1,代入上述公式中得到LBA=63
四:C/H/S=220/156/18,代入上述公式中得到LBA=3544145
根据公式,我仔细的运算了四个条件,条件一二四都正确,唯独条件三不正确
根据条件三给出的条件,得出正确的结果应该为:16065
而且,我还发现,其实条件三应该是作者写颠倒了
正确的条件三应该是这样的:
三:C/H/S=0/1/1,代入上述公式中得到LBA=63
echo.
各位帮我算下,看看我的推断是不是正确的!
这是从网上看到的一篇文章,如下:
C/H/S与LBA地址的对应关系
假设用C表示当前柱面号,H表示当前磁头号,Cs表示起始柱面号,Hs表示起始磁头号,Ss表示起始扇区号,PS表示每磁道有多少个扇区,PH表示每柱面有多少个磁道,则有以下对应关系:
LBA=(C-Cs)*PH*PS+(H-Hs)*PS+(S-Ss)
一般情况下,CS=0、HS=0、SS=1;PS=63、PH=255
那么以下四个条件,根据公式计算,如下:
一:C/H/S=0/0/1,代入上述公式中得到LBA=0
二:C/H/S=0/0/63,代入上述公式中得到LBA=62
三:C/H/S=1/0/1,代入上述公式中得到LBA=63
四:C/H/S=220/156/18,代入上述公式中得到LBA=3544145
根据公式,我仔细的运算了四个条件,条件一二四都正确,唯独条件三不正确
根据条件三给出的条件,得出正确的结果应该为:16065
而且,我还发现,其实条件三应该是作者写颠倒了
正确的条件三应该是这样的:
三:C/H/S=0/1/1,代入上述公式中得到LBA=63
echo.
各位帮我算下,看看我的推断是不是正确的!
▼优质解答
答案和解析
数据恢复学习笔记之线性地址(LBA)与C/H/S地址之间的转换
' A8 R# g8 a+ g; X 系统在写入数据时是按照从柱面到柱面的方式,在上一个柱面写满数据后才移动磁头到下一个柱面,并从下一柱面的第一个磁头的第一个三扇区开始写入,从而使磁盘性能优化,所以,在对物理扇区进行线性编址时,也按照这种方式进行.即把第一柱面(0C)第一磁头(0H)的第一扇区(1S)编为逻辑“0”扇区,第一柱面(0C)第一磁头(0H)的第一扇区(2S)编为逻辑“1”扇区,直到第一柱面(0C)第一磁头(0H)的第一扇区(63S)编为逻辑“62”扇区,然后转到第一柱面(0C)第一磁头(1H)的第一扇区(1S),接着上一面编为逻辑“63”扇区,0柱面所有扇区编号完毕后转到1柱面的0磁头1扇区,依次往下进行,直到把所有扇区都编上号.
4 u% G2 l3 Z- \, f% [其次要注意C/H/S中的扇区编号是从1到63,而LBA方式下扇区从0开始编号,所有扇区顺序进行编号.% V! ]/ o8 K/ z2 I$ h e
(1) 从c/h/s到LBA0 N' ? H N1 ~5 M
从编号规则很容易看出C/H/S与LBA地址的对应关系,用C表示当前柱面号,H表示当前磁头号,S表示当前扇区号,Cs表示起始柱面号,Hs表示起始磁头号,Ss表示起始扇区号.PS表示每磁道有多少扇区,PH表示每柱面有多少个磁道,则有:( ^! _4 o3 Y# t$ n. [0 d
LBA=(C-Cs)*PH*PS+(H-HS)*PS+(S-SS)
! D3 j* d/ [- h) f' p0 h' Z X一般情况下,Cs=0,Hs=0,Ss=1,PS=63,PH=255,LBA计算如下:
5 n5 O ~ S, r6 o, I2 n3 [C/H/S=0/0/1时带入公式可得LBA=0 C' h" r, l n
C/H/S=0/0/63时带入公式可得LBA=62
4 x& H7 U- G1 I2 |( y' IC/H/S=0/1/1时带入公式可得LBA=63! i: G! n* r [4 Q+ h$ @% M& `
C/H/S=0/5/1时带入公式可得LBA=315
8 ]+ Y5 w! L0 A: x6 GC/H/S=130/30/1时带入公式可得LBA=2090340
2 \: K6 p$ w" N6 L+ v2 m6 z系统在管理扇区(簇)时就是按照LBA地址进行的,而在最终写入(或读出)硬盘进行ATA调用时需要C/H/S参数., T, Y; d1 S& q
(2)从LBA到C/H/S2 g; b, Q0 N5 s8 n# E0 H! P4 J
先介绍两种运算:DIV和MOD(这里指对整数的操作).DIV称做整数运算,即被除数除以除数所得商取整数部分.如5 DIV 2=2,22 DIV 7=3.MOD就是取余运算,即取商的余数.如:5 DIV 2=1,22 DIV 7=1.9 J$ f) H9 B3 E
哥变量仍按上述假设进行,则有:! ]% q8 g4 r3 K/ C2 w7 [
C=LBA DIV(PH*PS)+Cs
2 w% x$ F" W; Q' j" A- aH=(LBA DIV PS) MOD PH+Hs
9 _, S; h/ K6 W |: {7 lS=LBA MOD PS+Ss z7 }7 {" Q3 p( @
如不用MOD运算,只用div运算,也是可以的,只不过是运算复杂程度不同.
0 K6 K" U8 x- x# AC=LBA DIV(PH*PS)+Cs
: @+ a/ E |4 K2 p+ IH=LBA DVI PS –(C-Cs)*PH+Hs
; [) e# h3 x O9 M$ mS=LBA-(C-Cs)*PH*PS-(H-Hs)*PS+Ss3 W% o2 W; g* X* Y$ h/ z
按照这个规律,有:
& \$ Z) S# m, HLBA=0,则C/H/S=0/0/1
. b- O: N! a6 b/ r5 ~- N/ eLBA=62,则C/H/S=0/0/63! H9 R3 \/ ^5 ~( Z, E6 i' V2 {6 r# c( R
LBA=63,则C/H/S=0/1/1
$ ~; V' X8 a# }LBA=315,则C/H/S=0/5/1
, f* h7 q) x: @- |4 z, i6 j) Y 后续还会有.
' A8 R# g8 a+ g; X 系统在写入数据时是按照从柱面到柱面的方式,在上一个柱面写满数据后才移动磁头到下一个柱面,并从下一柱面的第一个磁头的第一个三扇区开始写入,从而使磁盘性能优化,所以,在对物理扇区进行线性编址时,也按照这种方式进行.即把第一柱面(0C)第一磁头(0H)的第一扇区(1S)编为逻辑“0”扇区,第一柱面(0C)第一磁头(0H)的第一扇区(2S)编为逻辑“1”扇区,直到第一柱面(0C)第一磁头(0H)的第一扇区(63S)编为逻辑“62”扇区,然后转到第一柱面(0C)第一磁头(1H)的第一扇区(1S),接着上一面编为逻辑“63”扇区,0柱面所有扇区编号完毕后转到1柱面的0磁头1扇区,依次往下进行,直到把所有扇区都编上号.
4 u% G2 l3 Z- \, f% [其次要注意C/H/S中的扇区编号是从1到63,而LBA方式下扇区从0开始编号,所有扇区顺序进行编号.% V! ]/ o8 K/ z2 I$ h e
(1) 从c/h/s到LBA0 N' ? H N1 ~5 M
从编号规则很容易看出C/H/S与LBA地址的对应关系,用C表示当前柱面号,H表示当前磁头号,S表示当前扇区号,Cs表示起始柱面号,Hs表示起始磁头号,Ss表示起始扇区号.PS表示每磁道有多少扇区,PH表示每柱面有多少个磁道,则有:( ^! _4 o3 Y# t$ n. [0 d
LBA=(C-Cs)*PH*PS+(H-HS)*PS+(S-SS)
! D3 j* d/ [- h) f' p0 h' Z X一般情况下,Cs=0,Hs=0,Ss=1,PS=63,PH=255,LBA计算如下:
5 n5 O ~ S, r6 o, I2 n3 [C/H/S=0/0/1时带入公式可得LBA=0 C' h" r, l n
C/H/S=0/0/63时带入公式可得LBA=62
4 x& H7 U- G1 I2 |( y' IC/H/S=0/1/1时带入公式可得LBA=63! i: G! n* r [4 Q+ h$ @% M& `
C/H/S=0/5/1时带入公式可得LBA=315
8 ]+ Y5 w! L0 A: x6 GC/H/S=130/30/1时带入公式可得LBA=2090340
2 \: K6 p$ w" N6 L+ v2 m6 z系统在管理扇区(簇)时就是按照LBA地址进行的,而在最终写入(或读出)硬盘进行ATA调用时需要C/H/S参数., T, Y; d1 S& q
(2)从LBA到C/H/S2 g; b, Q0 N5 s8 n# E0 H! P4 J
先介绍两种运算:DIV和MOD(这里指对整数的操作).DIV称做整数运算,即被除数除以除数所得商取整数部分.如5 DIV 2=2,22 DIV 7=3.MOD就是取余运算,即取商的余数.如:5 DIV 2=1,22 DIV 7=1.9 J$ f) H9 B3 E
哥变量仍按上述假设进行,则有:! ]% q8 g4 r3 K/ C2 w7 [
C=LBA DIV(PH*PS)+Cs
2 w% x$ F" W; Q' j" A- aH=(LBA DIV PS) MOD PH+Hs
9 _, S; h/ K6 W |: {7 lS=LBA MOD PS+Ss z7 }7 {" Q3 p( @
如不用MOD运算,只用div运算,也是可以的,只不过是运算复杂程度不同.
0 K6 K" U8 x- x# AC=LBA DIV(PH*PS)+Cs
: @+ a/ E |4 K2 p+ IH=LBA DVI PS –(C-Cs)*PH+Hs
; [) e# h3 x O9 M$ mS=LBA-(C-Cs)*PH*PS-(H-Hs)*PS+Ss3 W% o2 W; g* X* Y$ h/ z
按照这个规律,有:
& \$ Z) S# m, HLBA=0,则C/H/S=0/0/1
. b- O: N! a6 b/ r5 ~- N/ eLBA=62,则C/H/S=0/0/63! H9 R3 \/ ^5 ~( Z, E6 i' V2 {6 r# c( R
LBA=63,则C/H/S=0/1/1
$ ~; V' X8 a# }LBA=315,则C/H/S=0/5/1
, f* h7 q) x: @- |4 z, i6 j) Y 后续还会有.
看了 C/H/S与LBA地址的对应...的网友还看了以下:
列车以速度v1向前行驶,司机突然发现在同一轨道上前方距车头s处有另一辆列车正在沿着相同方向以较小的 2020-05-16 …
可逆反应Na2so4(s)十4H2(g)=Na2S(s)十4H2O(g)TV一定时向体系中加入少量 2020-05-23 …
C/H/S与LBA地址的对应关系?这是从网上看到的一篇文章,如下:C/H/S与LBA地址的对应关系 2020-06-24 …
29.甲乙两辆汽车在同一直线上作同向匀速直线运动,甲在前v1=8m/s,乙在后v2=16m/s,2 2020-06-26 …
如图,以9m/s匀速行驶的汽车即将通过十字路口,绿灯还有2s将熄灭,此时车头距离停车线20m.如果 2020-07-12 …
以知反应eO(s)+Co(g)=Fe(s)+Co2(g)的K=0.5(1273K).若起始浓度c( 2020-07-21 …
在平整的路面上,某型号汽车紧急刹车后仍将滑行S米,一般地有经验公式S=V2/300,其中V表示刹车 2020-08-02 …
数据结构双向链表4、已知P结点是某双向链表的中间结点,按要求写出对应的语句:(1)在P结点后插入S结 2020-12-08 …
一道数学题急队伍长S千米.通讯员从排尾赶到排头又立即返回排尾.这时队伍恰好前进了S千米,假设这一过程 2020-12-10 …
提问数学问题队伍长S千米,通讯员从队尾赶到排头后又立即返回排尾,这时队伍恰好前进了S千米,假设在这一 2021-01-12 …