Ассемблер и программирование для IBM PC


       

ГЛАВА 15. Дисковая память I: Организация - часть 4


FE Односторонняя на 8 секторов FC Односторонняя на 9 секторов FF Двухсторонняя на 8 секторов FD Двухсторонняя на 9 секторов F9 Повышенная емкость (1,2 мегабайта) F8 Твердый диск

Второй и третий байты пока содержат FFFF. В следующей таблице показана организация данных для нескольких типов устройств (приведены начальные и конечные номера секторов). Колонка "Кластер" представляет число секторов в кластере:

Устройство диска Запись FAT Каталог Кластер нач.загр.

Односторонний, 8 секторов 1 2-3 4-7 1 Односторонний, 9 секторов 1 2-5 6-9 1 Двухсторонний, 8 секторов 1 2-3 4-10 2 Двухсторонний, 9 секторов 1 2-5 6-12 2 Повышенная емкость (1,2 М) 1 2-15 16-29 1 Твердый диск XT 1 2-17 18-49 8 Твердый диск AT 1 2-838 4-115 4

Начиная с четвертого байта, элементы FAT определяют сектора. Каждый такой элемент имеет длину 12 битов. (В версии DOS 3 и старше элементы FAT для твердого диска могут иметь длину 16 битов). Два первых элемента FAT, известные как относительные сектора 000 и 001, соответственно, указывают на два последних сектора оглавления, определяя его размер и формат. Первый файл данных начинается на относительном секторе 002. Каждый элемент FAT состоит из трех шест.цифр (12 битов), которые указывают на характер использования конкретного сектора:

000 свободный кластер, nnn относительный номер следующего кластера для файла, FF7 неиспользуемый кластер (сбойная дорожка), FFF последний кластер файла.

Предположим, например, что дискета содержит только один файл с именем PAYROLL.ASM, занимающий относительные сектора 002, 003 и 004. Элемент оглавления для этого файла содержит

Ассемблер для IBM PC. Глава 15 49

имя файла PAYROLL, тип - ASM, шест.00 для обычного файла, дату создания, 002 - номер первого относительного сектора файла и размер файла в битах. Таблица FAT в этом случае может выглядеть следующим образом (кроме того, что в каждой паре байты в обратной последовательности):

Элемент FAT: |FDF|FFF|003|004|FFF|000|000|...|000| Относительн.сектор: 0 1 2 3 4 5 6 ...конец




Содержание  Назад  Вперед