请教一个小问题

[复制链接]

该用户从未签到

5

主题

284

回帖

2271

积分

[INTOHARD]营长

Rank: 6Rank: 6

积分
2271
发表于 2011-7-26 18:31:26 | 显示全部楼层 |阅读模式
书上看了磁头和柱面是从0开始编号,而扇区是从1开始编号,但为什么又要从0扇区开始呢,没有搞明白,原文是《数据重现文件系统原理精解与数据恢复最佳实践》.(马林)第一章和第二章,是不是有点矛盾啊,望知道的朋友解释一下,谢谢
  • TA的每日心情
    难过
    2015-5-6 18:04
  • 签到天数: 1 天

    [LV.1]布衣百姓

    9

    主题

    432

    回帖

    3517

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    3517
    QQ
    发表于 2011-7-26 22:28:14 | 显示全部楼层
    我给你解释下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-5-6 18:04
  • 签到天数: 1 天

    [LV.1]布衣百姓

    9

    主题

    432

    回帖

    3517

    积分

    [INTOHARD]团长

    Rank: 8Rank: 8

    积分
    3517
    QQ
    发表于 2011-7-26 22:28:52 | 显示全部楼层
    一个是CHS ,一个是LBA
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    284

    回帖

    2271

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    2271
     楼主| 发表于 2011-7-26 23:16:20 | 显示全部楼层
    这位仁兄说的是寻址方式吧,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    284

    回帖

    2271

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    2271
     楼主| 发表于 2011-7-26 23:16:36 | 显示全部楼层
    回复 3# 掮肩而过


        谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    284

    回帖

    2271

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    2271
     楼主| 发表于 2011-7-27 12:28:44 | 显示全部楼层
    这书上的错误也太多了吧,是不是盗版哦,剪刀加浆糊[s:37]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-26 13:57
  • 签到天数: 1901 天

    [LV.Master]三朝元老

    129

    主题

    3617

    回帖

    8万

    积分

    Intohard Team

    远程数据恢复

    Rank: 7Rank: 7Rank: 7

    积分
    80955
    QQ
    发表于 2011-7-28 07:33:18 | 显示全部楼层
    CHS (Cylinder/Head/Sector)----CHS寻址模式将硬盘划分为磁头(Heads)、柱面(Cylinder)、扇区(Sector)。磁头柱面从0开始定义,扇区从1开始。

    LBA(Logical Block Addressing)----LBA逻辑块寻址模式,只是用Sector扇区定义,从0开始。

    CHS--0 0 1 转换成 LBA 等于0.(转换参考:http://www.onegreen.net/Article/HTML/2600.html)

    防止以上链接失效,原文如下:

    硬盘的每个盘片都有两个盘面(side),即上、下盘盘面,安照顺序从上至下从“0”开始依次编号。磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫磁道(track)。磁道从外向内从0开始顺序编号。所有盘面上的同一磁道构成的一个圆柱,通常称做柱面(cylinder),每个柱面上的磁头由上而下从“0”开始编号。
       操作系统以扇区(sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。
       这些通常用来表示硬盘的物理地址,现在随着硬盘容量增大我们用逻辑地址即线性地址(lba)。因此我们需要了解chs与lba之间的转换。
    c/h/s与lba地址的对应关系:
    从chs到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
    从lba到chs
    在这里先介绍两种运算div和mod。div做整除运算,即被除数除以除数所得的商的整数部分;比如5 div 3=1,33 div 6=5。
    mod是余运算,mod运算则取商的余数;比如:5 mod 3=2,33 mod 6=5。
    div和mod是一对搭档,一个取整一个取余。各个变量按照上面的进行假设,那么有:
    c=lba div (ph*ps) + cs
    h=(lba div ps) mod ph + hs
    s=lba mod ps + ss
    如果上述不用mod运算,只用div运算可以如下:
    c= lba div (ph*ps) + cs
    h=lba div ps –(c-cs) * ps + ss
    s=lba- (c-cs) * ph * ps - (h-hs) * ps + ss
    那么按照这个规律则有:
    lba=0,相应地c/h/s=0/0/1
    lba=62,相应地c/h/s=0/0/63
    lba=63,相应地c/h/s=1/0/1
    lba=62,相应地c/h/s=0/0/63
    lba=3544145,相应地c/h/s=220/156/18,

       通过以上转换,大家对chs与lba之间的转换有一定的了解了。


    不知道你能否理解。还有不明白的地方,可以Q我详谈。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-9-26 10:29
  • 签到天数: 69 天

    [LV.6]五品郎中

    1

    主题

    546

    回帖

    619

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    619
    发表于 2011-7-28 10:45:53 | 显示全部楼层
    (38:向楼上学习!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    227

    回帖

    206

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    206
    QQ
    发表于 2011-7-29 10:13:41 | 显示全部楼层
    烟台牛逼,从来没研究过这个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5

    主题

    284

    回帖

    2271

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    2271
     楼主| 发表于 2011-7-30 13:42:09 | 显示全部楼层
    谢谢了朋友,知道了,废了很多时间才搞懂
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表