1. 硬盘参数释疑
到目前为止 , 人们常说的硬盘参数还是古老的 CHS(Cylinder/Head/Sector) 参数 . 那么为什么要使用这些参数 , 它们的意义是什么 ? 它们的取值范围是什么 ?
很久以前 , 硬盘的容量还非常小的时候 , 人们采用与软盘类似的结构生产硬盘 . 也就是硬盘盘片的每一条磁道都具有相同的扇区数 . 由此产生了所谓的 3D 参数 (Disk Geometry). 既磁头数 (Heads), 柱面数 (Cylinders), 扇区数 (Sectors), 以及相应的寻址方式 .
其中 :
磁头数 (Heads) 表示硬盘总共有几个磁头 , 也就是有几面盘片 , 最大为 255 ( 用 8 个二进制位存储 );
柱面数 (Cylinders) 表示硬盘每一面盘片上有几条磁道 , 最大为 1023( 用 10 个二进制位存储 );
扇区数 (Sectors) 表示每一条磁道上有几个扇区 , 最大为 63( 用 6 个二进制位存储 ).
每个扇区一般是 512 个字节 , 理论上讲这不是必须的 , 但好像没有取别的值的 .
所以磁盘最大容量为 :
255 * 1023 * 63 * 512 / 1048576 = 8024 GB ( 1M =1048576 Bytes ) 或硬盘厂商常用的单位 :
255 * 1023 * 63 * 512 / 1000000 = 8414 GB ( 1M =1000000 Bytes )
在 CHS 寻址方式中 , 磁头 , 柱面 , 扇区的取值范围分别为 0 到 Heads - 1,0 到 Cylinders - 1, 1 到 Sectors ( 注意是从 1 开始 ).
2. 基本 Int 13H 调用简介
BIOS Int 13H 调用是 BIOS 提供的磁盘基本输入输出中断调用 , 它可以完成磁盘 ( 包括硬盘和软盘 ) 的复位 , 读写 , 校验 , 定位 , 诊断 , 格式化等功能 . 它使用的就是 CHS 寻址方式 , 因此最大识能访问 8 GB 左右的硬盘 ( 本文中如不作特殊说明 , 均以 1M = 1048576 字节为单位 ).
3. 现代硬盘结构简介
在老式硬盘中 , 由于每个磁道的扇区数相等 , 所以外道的记录密度要远低于内道 , 因此会浪费很多磁盘空间 ( 与软盘一样 ). 为了解决这一问题 , 进一步提高硬盘容量 , 人们改用等密度结构生产硬盘 . 也就是说 , 外圈磁道的扇区比内圈磁道多 . 采用这种结构后 , 硬盘不再具有实际的 3D 参数 , 寻址方式也改为线性寻址 , 即以扇区为单位进行寻址 .
为了与使用 3D 寻址的老软件兼容 ( 如使用 BIOSInt13H 接口的软件 ), 在硬盘控制器内部安装了一个地址翻译器 , 由它负责将老式 3D 参数翻译成新的线性参数 . 这也是为什么现在硬盘的 3D 参数可以有多种选择的原因 ( 不同的工作模式 , 对应不同的 3D 参数 , 如 LBA, LARGE, NORMAL).
4. 扩展 Int 13H 简介
虽然现代硬盘都已经采用了线性寻址 , 但是由于基本 Int13H 的制约 , 使用 BIOS Int 13H 接口的程序 , 如 DOS 等还只能访问 8 G 以内的硬盘空间 . 为了打破这一限制 , Microsoft 等几家公司制定了扩展 Int 13H 标准 (Extended Int13H), 采用线性寻址方式存取硬盘 , 所以突破了 8 G 的限制 , 而且还加入了对可拆卸介质 ( 如活动硬盘 ) 的支持 .
到目前为止 , 人们常说的硬盘参数还是古老的 CHS(Cylinder/Head/Sector) 参数 . 那么为什么要使用这些参数 , 它们的意义是什么 ? 它们的取值范围是什么 ?
很久以前 , 硬盘的容量还非常小的时候 , 人们采用与软盘类似的结构生产硬盘 . 也就是硬盘盘片的每一条磁道都具有相同的扇区数 . 由此产生了所谓的 3D 参数 (Disk Geometry). 既磁头数 (Heads), 柱面数 (Cylinders), 扇区数 (Sectors), 以及相应的寻址方式 .
其中 :
磁头数 (Heads) 表示硬盘总共有几个磁头 , 也就是有几面盘片 , 最大为 255 ( 用 8 个二进制位存储 );
柱面数 (Cylinders) 表示硬盘每一面盘片上有几条磁道 , 最大为 1023( 用 10 个二进制位存储 );
扇区数 (Sectors) 表示每一条磁道上有几个扇区 , 最大为 63( 用 6 个二进制位存储 ).
每个扇区一般是 512 个字节 , 理论上讲这不是必须的 , 但好像没有取别的值的 .
所以磁盘最大容量为 :
255 * 1023 * 63 * 512 / 1048576 = 8024 GB ( 1M =1048576 Bytes ) 或硬盘厂商常用的单位 :
255 * 1023 * 63 * 512 / 1000000 = 8414 GB ( 1M =1000000 Bytes )
在 CHS 寻址方式中 , 磁头 , 柱面 , 扇区的取值范围分别为 0 到 Heads - 1,0 到 Cylinders - 1, 1 到 Sectors ( 注意是从 1 开始 ).
2. 基本 Int 13H 调用简介
BIOS Int 13H 调用是 BIOS 提供的磁盘基本输入输出中断调用 , 它可以完成磁盘 ( 包括硬盘和软盘 ) 的复位 , 读写 , 校验 , 定位 , 诊断 , 格式化等功能 . 它使用的就是 CHS 寻址方式 , 因此最大识能访问 8 GB 左右的硬盘 ( 本文中如不作特殊说明 , 均以 1M = 1048576 字节为单位 ).
3. 现代硬盘结构简介
在老式硬盘中 , 由于每个磁道的扇区数相等 , 所以外道的记录密度要远低于内道 , 因此会浪费很多磁盘空间 ( 与软盘一样 ). 为了解决这一问题 , 进一步提高硬盘容量 , 人们改用等密度结构生产硬盘 . 也就是说 , 外圈磁道的扇区比内圈磁道多 . 采用这种结构后 , 硬盘不再具有实际的 3D 参数 , 寻址方式也改为线性寻址 , 即以扇区为单位进行寻址 .
为了与使用 3D 寻址的老软件兼容 ( 如使用 BIOSInt13H 接口的软件 ), 在硬盘控制器内部安装了一个地址翻译器 , 由它负责将老式 3D 参数翻译成新的线性参数 . 这也是为什么现在硬盘的 3D 参数可以有多种选择的原因 ( 不同的工作模式 , 对应不同的 3D 参数 , 如 LBA, LARGE, NORMAL).
4. 扩展 Int 13H 简介
虽然现代硬盘都已经采用了线性寻址 , 但是由于基本 Int13H 的制约 , 使用 BIOS Int 13H 接口的程序 , 如 DOS 等还只能访问 8 G 以内的硬盘空间 . 为了打破这一限制 , Microsoft 等几家公司制定了扩展 Int 13H 标准 (Extended Int13H), 采用线性寻址方式存取硬盘 , 所以突破了 8 G 的限制 , 而且还加入了对可拆卸介质 ( 如活动硬盘 ) 的支持 .
本文详细介绍了硬盘的基本参数CHS(磁头/柱面/扇区)及其意义,并解释了传统硬盘如何通过这些参数进行寻址。此外,文章还介绍了BIOS Int13H调用的工作原理及限制,并探讨了现代硬盘的线性寻址方式以及扩展Int13H标准如何解决超过8GB容量的访问问题。
8501

被折叠的 条评论
为什么被折叠?



