在DOS命令级上使用时不需要了解这些地址。因为只需要给出文件名就可以实现对该文件的访问,即文件系统为用户实现了按名存取。但是,要进一步了解DOS是如何实现按名存取的,就需要知道这些地址了。
假定以扇区为基本寻址的记录格式,硬件寻址构成的物理地址信息有柱面号、磁头号和扇区号。柱面号就是磁道号,用以定位到磁道,同半径的磁道成了柱面,它从外到内依次编号为0,1,…,磁头号就是盘面号,用以选择特定盘面,从上向下顺次编号为0面,1面,…;因此,磁盘物理地址是一个三维空间,使用磁道T、磁头F、扇区S。因此,为了访问盘上任一特定的数据块,首先控制磁臂使磁头移到正确的磁道。然后等磁盘将正确的扇区旋转到磁头的下面,此时才开始正式读写信息。磁盘上的逻辑地址就是将磁盘上的全部扇区进行统一编号,这样的扇区称为逻辑扇区,这时把它们看作编号为0~N-1个逻辑扇区的一个连续阵列,从而形成一维的物理地址空间。统一编号的原则是:按磁道增加,相同磁道按磁面增加,这样使所有扇区统一编号。这样形成的连续阵列的编号方向是与磁头前进时寻道方向一致的,即把0道0磁头上的第一个扇区记为逻辑扇区0,以后各扇区的逻辑编号都是相对它而言的,就是说继续对该磁道和该面磁头的各个扇区计数,然后继续从同一磁道零面磁头的第一个扇区开始计数,当磁道上的所有面上的扇区都已计数后,从下一磁道磁头0上的第一个扇区继续进行计数,依次类推,直到最后一个磁道是高编号磁头上的最后一个扇区。下面以1.44M双面软盘为例,给出逻辑扇区的编号及其存放的内容见表2.1。
表2.1 1.44M双面软盘逻辑扇区的编号及其存放的内容
由于逻辑扇区是相对逻辑扇区0计数的,故又称为相对扇区。由三维地址T、H、S转换为一维地址的逻辑扇区号B,归纳为如下公式:
逻辑扇区号=磁道号*每道扇区数*磁头数+磁头号*每道扇区数+扇区号-1 由逻辑区映像到物理磁道和扇区是由与硬件相关的I/O系统完成的,对PC-DOS文件系统来讲,则是完全透明的。任何其他的方法也可以使用,DOS将不知道这个差别。由逻辑扇区号到对应的磁道号,磁头号及扇区号的计算如下。软盘(/ 表示取整,%表示取余):(www.xing528.com)
磁头号=(逻辑扇区号/每道扇区数)%磁头数
磁道号=(逻辑扇区号/每道扇区数)/磁头数
扇区号=逻辑扇区号%每道扇区数+1
因此,在以后的使用中仅给出逻辑地址,它会由ROM BIOS计算出物理地址,从而访问磁盘。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。