MS-DOS для программиста

Поля элемента таблицы раздела диска


Расскажем подробнее о некоторых полях элемента таблицы раздела диска.

Байт со смещением 0, как мы уже говорили, является флагом активного раздела и может принимать одно из двух значений - 0 или 80h, соответственно, для неактивного и активного разделов диска.

Слово, имеющее размер 2 байта и расположенное со смещением 8, содержит относительный номер первого сектора раздела. Как он вычисляется?

Значение 0 соответствует дорожке 0, головке 0, сектору 1. При увеличении относительного номера сектора вначале увеличивается номер сектора на дорожке, затем номер головки , и, наконец, номер дорожки. Для вычисления относительного номера сектора можно использовать следующую формулу:

RelSect = (Cyl * Sect * Head) + (Head * Sect) + (Sect -1)

В этой формуле Cyl - номер дорожки, Sect - номер сектора на дорожке, Head - номер головки .

Замечание относительно границ разделов диска: обычно разделы начинаются с четных номеров дорожек, за исключением самого первого раздела. Этот раздел может начинаться с сектора 2 нулевой дорожки (головка 0), так как самый первый сектор диска занят главной загрузочной записью.

Байт со смещением 4 - это код системы, использующей раздел диска. Для MS-DOS зарезервированы значения 0, 1, 4, 5.

Значение 0 соответствует свободному разделу диска.



Содержание раздела