Шаг 20 - Устройство жесткого диска

Смотрим рисунок:

20_1.gif (3628 b)

Минимальная единица хранения информации это сектор (Sector) который имеет определенный размер. Это уровень, на котором производятся операции ввода вывода на диск. Записать меньше информации, чем сектор нельзя. Отсюда есть много выводов. Например, что если размер сектора 512 а файл будет 513 то занимать на диске этот файла будет 512+512=1024. По факту. Сектора собираются в дорожки (Track), а набор дорожек это цилиндр (Cylinder) он соответствует фактической пластине диска. Информация с пластин на диске считывается головками (Head). Цилиндры в наборе составляют весь диск. Говоря о секторах со стороны программирования нужно иметь в виду что существует так называемый физический сектор который имеет адрес:

Сектор - Цилиндр

И логический сектор. Логический сектор это нумерация от 0 до последнего. Прерывания, которые используются для непосредственного доступа к диску могут использовать как физическую адресацию, так и логическую адресацию. Для работы с диском у нас есть прерывания BIOS - 13h. У него есть функция 02h - абсолютное чтение с диска.

AH=02H
Al - количество секторов для чтения.
CH - цилиндр
CL - сектор
DH - головка
DL - диск
ES:BX - сегмент смещение для буфера.

Так же есть прерывание 25H DOS абсолютное чтение с диска

AL - диск
CX - количество секторов для чтения
DX - начальный сектор для чтения.
DS:BX - буфер

В данном случае идет разговор о логическом секторе, то есть о нумерации секторов от 0 и больше.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 30.11.2001