磁头255个?

xiaowenwen 2005-02-14 03:01:50
硬盘每个盘面对应一个磁头,但是用winhex看到硬盘有255个磁头,难道这硬盘有一百多个盘片?
...全文
655 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tudou614 2005-03-05
  • 打赏
  • 举报
回复
.
fanxero 2005-02-23
  • 打赏
  • 举报
回复
现在主板支持三种硬盘工作模式:NORMAL、LBA和LARGE模式。

  NORMAL普通模式是最早的IDE方式。在此方式下对硬盘访问时,BIOS和IDE控制器对参数不作任何转换。该模式支持的最大柱面数为1024,最大磁头数为16,最大扇区数为63,每扇区字节数为512。因此支持最大硬盘容量为:512×63×16×1024=528MB。在此模式下即使硬盘的实际物理容量更大,但可访问的硬盘空间也只能是528MB。

  LBA(Logical Block Addressing)逻辑块寻址模式。这种模式所管理的硬盘空间突破了528KB的瓶颈,可达8.4GB。在LBA模式下,设置的柱面、磁头、扇区等参数并不是实际硬盘的物理参数。在访问硬盘时,由IDE控制器把由柱面、磁头、扇区等参数确定的逻辑地址转换为实际硬盘的物理地址。在LBA模式下,可设置的最大磁头数为255,其余参数与普通模式相同。由此可计算出可访问的硬盘容量为:512×63×255×1024=8.4GB。

  LARGE大硬盘模式。当硬盘的柱面超过1024而又不为LBA支持时可采用此种模式。LARGE模式采取的方法是把柱面数除以2,把磁头数乘以2,其结果总容量不变。例如,在NORMAL模式下柱面数为1220,磁头数为16,进入LARGE模式则柱面数为610,磁头数为32。这样在DOS看来柱面数小于1024,即可正常工作。目前基本上只有LBA有实际意义了。

在LBA模式下,可设置的最大磁头数为255,这样你就能在winhex中看到磁头255了
xiaowenwen 2005-02-19
  • 打赏
  • 举报
回复
那么在winhex显示的磁头数为255是为什么呢?怎么理解呢?
xiaowenwen 2005-02-19
  • 打赏
  • 举报
回复
哦~~~~~~我只是想知道chs的确切的物理意义。以及它与lba参数之间的转换。
cchuocp 2005-02-18
  • 打赏
  • 举报
回复
CHS是DOS 2.0引入的,当时硬盘才40M(不是40G哦),你用过吗?我上学时用的是APPLE II(没有硬盘),全校两台PC AT(20M 硬盘),毕业了才用386(40M硬盘),现在我的电脑有个160G的硬盘,但不能用160G的分区,因为Windows XP SP2支持的不好,有可能出错。你知道这么多年,遇到多少硬盘容量的坎吗,512M,2G,4G,10G,132G,不是硬盘太大不认,就是分区太大不认,有时操作系统不认,有时主板不认。去年刚做了一个嵌入式操作系统用的SD卡的文件系统,CHS随便写,用起来一点问题都没有。

你还相信我吗?
xiaowenwen 2005-02-18
  • 打赏
  • 举报
回复
楼上解释得牵强,是这样吗?
cchuocp 2005-02-17
  • 打赏
  • 举报
回复
CHS中每个都有自己的取值范围,而且当初定义的比较小。随着硬盘越来越大,最大的C和S都不够用了,所以只能增加H了。现在硬盘大的增加H都没用了,所以CHS已经基本淘汰了,只是为兼容一些旧程序而已,在新程序中已不用了。
yundaki 2005-02-15
  • 打赏
  • 举报
回复
上面的地址算法有点复杂、赫赫
YFLK 2005-02-15
  • 打赏
  • 举报
回复
学一招
xiaowenwen 2005-02-15
  • 打赏
  • 举报
回复
CHS中H什么这么大呢?
xiaowenwen 2005-02-14
  • 打赏
  • 举报
回复
mydo(坎道斯)大哥,新年好啊!!!
CSDN论坛里的各位,大家过年好!

************************************
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 ------------->磁头怎么会是156 ?!这么大?
backspray 2005-02-14
  • 打赏
  • 举报
回复

此"磁头"非彼"磁头"
那种磁头是物理磁头,,这里磁头指的是逻辑磁头.
有一种扇区编号是,直接按柱面、磁头、扇区3者的组合来定位,按这种编号方式得到的扇区编号称为物理扇区编号.

在硬盘0柱面,0磁头,1扇区记载着硬盘的主MBR,而在MBR中对分区的的起始位置和结束位置是按照物理扇区编号记载的,而物理扇区编号记载是通过3个字节来记录的?
由于每个字节是从0到255,按这总算法,所以磁头的数目就有255个了.
举个例子,主MBR中的从01BF到01C1这三个字节记录本分区DBR所在的位置,他的直是01 01 00
说明DBR位于1磁头,0柱面,1扇区
大熊猫侯佩 2005-02-14
  • 打赏
  • 举报
回复
你好啊,好久没来了吧!新年快乐啊!!!

至于你的问题,此"磁头"非彼"磁头"。
目前的硬盘虽然很多是1个磁头或2个磁头的,但是在bios里,或者在硬盘的调用指令里面,磁头的数量都是15或者16甚至更多。这是因为硬盘内部有个将实际的物理扇区转换为逻辑扇区的算法,用户能访问的,是经过转化后的逻辑扇区,而不是实际的和物理磁头对应的物理扇区。这样,用户其实是无法对物理意义上的硬盘进行操作的,就更不用说低级格式化了。


21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧