扩展Int 13H调用规范
2008-04-29 09:34:09 来源:WEB开发网第一部分简介
一.硬盘结构简介
1.硬盘参数释疑
到目前为止,人们常说的硬盘参数还是古老的CHS(Cylinder/Head/Sector)参数。那么为什么要使用这些参数,它们的意义是什么?它们的取值范围是什么?
很久以前(longlongago...),硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了所谓的3D参数(DiskGeometry)。即磁头数(Heads),柱面数(Cylinders),扇区数(Sectors),以及相应的寻址方式。
其中:
磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片,最大为255(用8个二进制位存储);
柱面数(Cylinders)表示硬盘每一面盘片上有几条磁道,最大为1023(用10个二进制位存储);
扇区数(Sectors)表示每一条磁道上有几个扇区,最大为63(用6个二进制位存储)。
每个扇区一般是512个字节,理论上讲这不是必须的,但好象没有取别的值的。
所以磁盘最大容量为:
255*1023*63*512/1048576=8024GB(1M=1048576Bytes)或硬盘厂商常用的单位:
255*1023*63*512/1000000=8414GB(1M=1000000Bytes)
在CHS寻址方式中,磁头,柱面,扇区的取值范围分别为0到Heads-1,0到Cylinders-1,1到Sectors(注意是从1开始)。
2.基本Int13H调用简介
BIOSInt13H调用是BIOS提供的磁盘基本输入输出中断调用,它可以完成磁盘(包括硬盘和软盘)的复位,读写,校验,定位,诊断,格式化等功能。它使用的就是CHS寻址方式,因此最大识能访问8GB左右的硬盘(本文中如不作特殊说明,均以1M=1048576字节为单位)。
3.现代硬盘结构简介
在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间(与软盘一样)。为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。也就是说,外圈磁道的扇区比内圈磁道多。采用这种结构后,硬盘不再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。
为了与使用3D寻址的老软件兼容(如使用BIOSInt13H接口的软件),在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D参数翻译成新的线性参数。这也是为什么现在硬盘的3D参数可以有多种选择的原因(不同的工作模式,对应不同的3D参数,如LBA,LARGE,NORMAL)。
4.扩展Int13H简介
虽然现代硬盘都已经采用了线性寻址,但是由于基本Int13H的制约,使用BIOSInt13H接口的程序,如DOS等还只能访问8G以内的硬盘空间。为了打破这一限制,Microsoft等几家公司制定了扩展Int13H标准(ExtendedInt13H),采用线性寻址方式存取硬盘,所以突破了8G的限制,而且还加入了对可拆卸介质(如活动硬盘)的支持。
- ››Intent和IntentFilter详解
- ››Interface继承至System.Object?
- ››调用已注册会员人数和最新会员名称
- ››Intent调用大全
- ››IntentService实现原理及内部代码
- ››Internet Explorer 无法打开
- ››Intel和Nokia宣称MeeGo将比Android更加开放且方便...
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››Intent Android 详解
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››Internet Explorer 9 Platform 1.9.7916.6000 Pre...
更多精彩
赞助商链接