社区
汇编语言
帖子详情
磁头255个?
xiaowenwen
2005-02-14 03:01:50
硬盘每个盘面对应一个磁头,但是用winhex看到硬盘有255个磁头,难道这硬盘有一百多个盘片?
...全文
655
13
打赏
收藏
磁头255个?
硬盘每个盘面对应一个磁头,但是用winhex看到硬盘有255个磁头,难道这硬盘有一百多个盘片?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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甚至更多。这是因为硬盘内部有个将实际的物理扇区转换为逻辑扇区的算法,用户能访问的,是经过转化后的逻辑扇区,而不是实际的和物理磁头对应的物理扇区。这样,用户其实是无法对物理意义上的硬盘进行操作的,就更不用说低级格式化了。
计算机病毒与防护:Linux文件系统管理.pptx
磁盘介绍 机械磁盘构成 主轴 机械手臂/磁盘驱动器 盘片 读取头 控制电路 接口 术语 磁区/扇区 磁轨 磁柱 HTTP的请求响应模型 HTTP的请求响应模型 磁盘介绍 磁盘介绍 Cylinder柱面数表示硬盘每面盘面上有几条磁道 编号是从0开始,最大为1023,表示有1024个磁道 Head
磁头
数表示磁盘共有几个
磁头
,也就是几面盘面 编号从0开始,最大为
255
,表示有256个
磁头
Sector/Track扇区数表示每条磁道上有几个扇区 编号从1开始,最大为63,表示63个扇区,每个扇区为512/4k字节,是磁盘的最小存储单位(由于每磁道扇区数相同,所以内密外疏,可以使用多区记录-MZR增加外部的密度,从而增加容量) 计算:1024个柱面 x 63个扇区 x 256个
磁头
x 512byte = 8455716864byte(即8.4G) *扇区组成圆就是磁轨或磁道,不同磁盘上同一位置的磁道形成磁柱 逻辑区块Block:逻辑区块是在Partition进行FileSystem的格式化时,所指定的最小存储单位 Block的大小为Sector的2的次方倍数,操作系统一次可以读取一个block
精确硬盘整数分区计算源码
易语言硬盘分区计算源码,一般计算公式:M=(G-1)*4+1024*G(G=想要的大小,单位GB,M为要设置的大小)。' 硬盘一般有
255
磁头
,63扇区,故每柱面大小为:。' 512byte x
255
x 63=8225280bytes =7.84423828125 MB。' 如果要分40GB,那么要40x1024MB=40960MB。' 需要柱面数为40960÷7.84423828125=5221.66。' 取整数既为5222个柱面。' 应分M数为5222x7.84423828125=40962.6123046875MB。' 不管小数点后面几位都进1,也就是40963MB,windows就认为是40GB了。' 这个方法NTFS和FAT32通用。@习惯沉默。
160g 分区备份文件
硬盘分区清单 硬盘名:HD0:SAMSUNG HM160HC(149GB) 容量:149.1GB 型号:SAMSUNG HM160HC 序列号:S12TJF0SC07973 参数: 19457 柱面
255
磁头
63 扇区. 扇区总数:312581808 分区表类型:MBR 分区信息: 序号 名称 文件系统 引导 标识 起始柱面
磁头
扇区 终止柱面
磁头
扇区 容量 0 本地磁盘(C:) NTFS 80 07 0 1 1 1275 254 63 9.8GB 1 扩展分区 EXTEND 00 0f 1276 0 1 19456 254 63 139.3GB 4 DISK1_VOL2(D:) FAT32 00 0b 1276 1 1 4112 254 63 21.7GB 5 本地磁盘(E:) FAT32 00 0b 4113 1 1 7044 254 63 22.5GB 6 DISK1_VOL3(F:) FAT32 00 0b 7045 1 1 9613 254 63 19.7GB 7 软件(G:) FAT32 00 0b 9614 1 1 12163 254 63 19.5GB 8 儿童(H:) FAT32 00 0b 12164 1 1 15632 254 63 26.6GB 9 本地磁盘(I:) FAT32 00 0b 15633 1 1 19456 254 63 29.3GB
硬盘整数分区计算器.7z
硬盘整数分区计算器 保证获得整数分区 帮你分区时计算输入的大小 支持ntfs及fat32 使用方法 1、对于FAT32分区,每1024字节可用容量会使用4字节用于存储磁盘结构和数据存储位置等信息,但分区中第一GB可用容量却不占用额外的存储容量,因此硬盘整数分区计算器FAT32整数分区公式为: 应分配MB数=(分区GB数-1)×4+1024×分区GB数 2、硬盘整数分区计算器对于NTFS分区,原理更加复杂。NTFS分区的最小容量单位不可能精确到1MB,而是柱面大小。硬盘一般有
255
磁头
,63扇区,故每柱面大小为:512bitx
255
x63=8225280bit=7.84423828125MB 如果要分10GB,那么应当是10x1024MB=10240MB 实际需要柱面数为10240÷7.84423828125=1305.4 柱面只可能算整数,即1306个柱面 这样实际应分MB数为1306×7.84423828125=10244.575MB 不管小数点后面几位都进1,也就是10245MB,这样系统才能认成是10.0GB了
新硬盘整数分区计算工具
硬盘有
255
磁头
,63扇区 512byte*
255
*63 =8225280byte =7.84423828125MB 例如:40G 40*1024MB=40960MB 需柱面: 40960÷7.84423828125=5221.66 应分M: 5222*7.84423828125 =40962.6123046875 =40963
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章