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

How does sectors, track are identified on disk and CD/DVD?

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

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

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

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


请注意,柱面/磁头对于光盘没有意义。根据 this answer,只有 BIOS LBA 读取功能有效,(AH=42h),而不是传统的 CHS 功能 (AH=02h)。所以 BIOS 不需要发明一个假的 CHS 几何结构来访问纯线性扇区。

相关:

  • How to Get Exact Location and Angles of Sectors on CD or DVD (Data Position Measurement)?
  • CD/DVD Boot Sector(关于线性扇区 space 之上的软件格式,包括可启动的 El-Torito)。