Как идентифицируются сектора, дорожки на диске и CD/DVD?

Я писал некоторый ассемблерный код BIOS, и в целом мы используем прерывание для доступа к функциям диска. Мы даем такие команды, как поиск байтов для чтения этого сектора и т. Д., Но как диск узнает, является ли он первым сектором, и точно так же, как cd / dvd идентифицирует сектора, когда cd / dvd вставляется в привод cd из случайной позиции. Есть ли какой-либо идентификационный номер, связанный с секторами в этом оборудовании?

1 ответ

Оптические диски имеют одну непрерывную спираль, направленную наружу, и да, есть некоторая вводная область для привода, чтобы узнать угол диска для начала первого сектора. Быстрый гугл не нашел конкретных подробностей о том, как именно он это делает, но, предположительно, какое-то форматирование / метаданные за пределами используемых / пользовательских данных.

Границы между секторами отмечены кодом синхронизации, который больше нигде не используется ( https://en.wikipedia.org/wiki/Track_(optical_disc)#Sector_structure). Это описание звуковых секторов Красной книги также применимо к компакт-дискам с данными: компакт-диск использует ту же основу, что и аудио-компакт-диски Красной книги, но с данными внутри него . (И еще один уровень исправления ошибок, дающий 2048 байтов с исправленными ошибками на сектор из 2352 байтов секторных данных первого уровня с исправленными ошибками.)

Дорожки в смысле оптического диска полностью отличаются от "дорожек" жесткого диска / гибкого диска. (Потому что есть только одна спираль, а не несколько колец данных). Дорожки компакт-диска представляют собой произвольное количество секторов, а границы треков на аудио-компакт-дисках обычно располагаются на границах песен.


Обратите внимание, что цилиндры / головки не имеют смысла для оптических дисков. Согласно этому ответу , работает только функция чтения BIOS LBA (AH=42h), а не устаревшая функция CHS (AH=02h). Таким образом, BIOS не нужно изобретать фальшивую геометрию CHS для доступа к чисто линейным секторам.

Связанный:

Другие вопросы по тегам