如何识别磁盘和 CD/DVD 上的扇区、磁道?

时间:2021-04-18 07:34:54

标签: assembly x86 hardware x86-16 optical-drive

我正在编写一些汇编 BIOS 代码,通常我们使用中断来访问磁盘功能。我们给这个扇区读取字节等命令,但磁盘如何知道它是否是第一个扇区,类似地,cd/dvd 如何识别扇区,因为 cd/dvd 从随机位置插入 cd 驱动器。这些硬件中是否有与扇区相关联的任何类型的标识号?

1 个答案:

答案 0 :(得分:4)

光盘有一个连续的螺旋向外,是的,有一些介绍区域供驱动器找出第一个扇区开始时的光盘角度。一个快速的谷歌没有找到它是如何做到这一点的具体细节,但大概是一些可用/用户数据之外的格式/元数据。

扇区之间的边界由其他任何地方都没有使用的同步代码 (https://en.wikipedia.org/wiki/Track_(optical_disc)#Sector_structure) 标记。对红皮书音频扇区的描述也适用于数据 CD:CD-ROM 使用与红皮书音频 CD 相同的底层框架,但数据在其中。 (还有一层纠错,每扇区给出2048个纠错字节数据,一级纠错扇区数据2352字节。)

光盘意义上的轨道与硬盘驱动器/软盘的“轨道”完全不同。 (因为只有一个螺旋,而不是多个数据环)。 CD 轨道是任意数量的扇区,音频 CD 上的轨道边界通常位于歌曲边界处。


请注意,Cylinders / Heads 对光盘没有意义。根据 this answer,只有 BIOS LBA 读取功能有效(AH=42h),而不是传统 CHS 功能(AH=02h)。因此 BIOS 不需要发明虚假的 CHS 几何结构来访问纯线性扇区。

相关:

相关问题