我正在编写一些汇编 BIOS 代码,通常我们使用中断来访问磁盘功能。我们给这个扇区读取字节等命令,但磁盘如何知道它是否是第一个扇区,以及 cd/dvd 如何识别扇区,因为 cd/dvd 从随机位置插入 cd 驱动器。这些硬件中是否有与扇区相关的任何类型的标识号?
问问题
292 次
1 回答
5
光盘有一个连续的向外螺旋,是的,驱动器有一些介绍区域,以找出第一个扇区开始的光盘角度。一个快速的谷歌没有找到关于它是如何做到这一点的具体细节,但大概是可用/用户数据之外的一些格式/元数据。
扇区之间的边界由其他任何地方都不使用的同步代码标记(https://en.wikipedia.org/wiki/Track_(optical_disc)#Sector_structure)。红皮书音频扇区的描述也适用于数据 CD:CD-ROM 使用与红皮书音频 CD 相同的底层框架,但其中包含数据。(以及另一层纠错,在 2352 个字节的一级纠错扇区数据中,每个扇区提供 2048 个纠错字节的数据。)
光盘意义上的轨道与硬盘驱动器/软盘的“轨道”完全不同。(因为只有一个螺旋,而不是多个数据环)。CD 轨道是任意数量的扇区,音频 CD 上的轨道边界通常位于歌曲边界。
请注意,Cylinders / Heads 对光盘没有意义。根据这个答案,只有 BIOS LBA 读取功能有效(AH=42h),而不是传统的 CHS 功能(AH=02h)。所以 BIOS 不需要发明一个虚假的 CHS 几何结构来访问纯线性扇区。
有关的:
- 如何获得 CD 或 DVD 上扇区的准确位置和角度(数据位置测量)?
- CD/DVD 引导扇区(重新:线性扇区空间之上的软件格式,包括可引导的 El-Torito)。
于 2021-04-18T08:15:51.527 回答