网站大量收购独家精品文档,联系QQ:2885784924

扩展Int 13H调用规范讲述.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
扩展Int 13H调用规范第一部分简介   一.硬盘结构简介  1.硬盘参数释疑  到目前为止,人们常说的硬盘参数还是古老的CHS(Cylinder/Head/Sector)参数。那么为什么要使用这些参数,它们的意义是什么?它们的取值范围是什么?  很久以前,硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了所谓的3D参数(DiskGeometry)。即磁头数(Heads),柱面数(Cylinders),扇区数(Sectors),以及相应的寻址方式。  其中:  ①磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片,最大为255(用8个二进制位存储);  ②柱面数(Cylinders)表示硬盘每一面盘片上有几条磁道,最大为1023(用10个二进制位存储);  ③扇区数(Sectors)表示每一条磁道上有几个扇区,最大为63(用6个二进制位存储)。  每个扇区一般是512个字节,理论上讲这不是必须的,但都选择这个值。  所以磁盘最大容量为:  255*1023*63*512/1048576=8024MB(1MB=1048576Bytes)或硬盘厂商常用的单位:  255*1023*63*512/1000000=8414MB(1MB=1000000Bytes)  在CHS寻址方式中,磁头,柱面,扇区的取值范围分别为0到Heads-1,0到Cylinders-1,1到Sectors(注意是从1开始)。  2.基本Int13H调用简介  BIOSInt13H调用是BIOS提供的磁盘基本输入输出中断调用,它可以完成磁盘(包括硬盘和软盘)的复位,读写,校验,定位,诊断,格式化等功能。它使用的就是CHS寻址方式,因此最大识能访问8GB左右的硬盘。  3.现代硬盘结构简介  在老式硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间(与软盘一样)。为了解决这一问题,进一步提高硬盘容量,人们改用等密度结构生产硬盘。也就是说,外圈磁道的扇区比内圈磁道多。采用这种结构后,硬盘不再具有实际的3D参数,寻址方式也改为线性寻址,即以扇区为单位进行寻址。为了与使用3D寻址的老软件兼容(如使用BIOSInt13H接口的软件),在硬盘控制器内部安装了一个地址翻译器,由它负责将老式3D参数翻译成新的线性参数。这也是为什么现在硬盘的3D参数可以有多种选择的原因(不同的工作模式,对应不同的3D参数,如LBA,LARGE,NORMAL)。  4.扩展Int13H简介  虽然现代硬盘都已经采用了线性寻址,但是由于基本Int13H的制约,使用BIOSInt13H接口的程序,如DOS等还只能访问8G以内的硬盘空间。为了打破这一限制,Microsoft等几家公司制定了扩展Int13H标准(ExtendedInt13H),采用线性寻址方式存取硬盘,所以突破了8G的限制,而且还加入了对可拆卸介质(如活动硬盘)的支持。  二.BootSector结构简介  1.BootSector的组成  BootSector也就是硬盘的第一个扇区,它由MBR(MasterBootRecord),DPT(DiskPartitionTable)和BootRecordID三部分组成。  MBR又称作主引导记录占用BootSector的前446个字节(0to0x1BD),存放系统主引导程序(它负责从活动分区中装载并运行系统引导程序)。  DPT即主分区表占用64个字节(0x1BE~0x1FD),记录了磁盘的基本分区信息。主分区表分为四个分区项,每项16字节,分别记录了每个主分区的信息(因此最多可以有四个主分区)。  BootRecordID即引导区标记占用两个字节(0x1FEand0x1FF),对于合法引导区,它等于0xAA55,这是判别引导区是否合法的标志。  BootSector的具体结构如下图所示:  Offset0000H  Offset01BDH  Offset01BEH  Offset01CDH  Offset01CEH  Offset01DDH  Offset01DEH  Offset01EDH  Offset01EEH  Offset01FDH  Offset01FEH  Offset01FFHMasterBootRecord  主引导记录(446字节)  分区信息1  分区信息2  分区信息3  分区信息4  校验字0xAA55  2.分区表结构简介  分区表由四个分区项构成,每一项的结构如下:  BYTEState   :分区状态,0=未激活,0x80=激活(注意此项)  BYTEStartHead :分区起始磁头号  WORDStartSC  :分区起始扇区和柱面号,底字

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档