Скачиваний:
406
Добавлен:
22.01.2014
Размер:
3.77 Mб
Скачать

24.5. Логическая структура диска

Итак, с аппаратной точки зрения любой диск можно представить как совокупность секторов, и каждый сектор, либо группа секторов может быть записан и считан независимо от других. Однако для большинства прикладных программ интерес представляет не обращение к отдельным секторам, а возможность обращения к файлам, которые могут занимать произвольное число секторов. Для облегчения обращения к файлам и упорядочения использования пространства секторов диска в состав любой ОС входит файловая система, определяющая логическую структуру диска (логический формат). Все диски, поддерживаемые МS DOS, за рядом исключений, имеют сходный логический формат.

Под логическим форматом понимается то, что на диске резервируются определенные области для хранения служебной информации, необходимой операционной системе для работы с этим устройством. Процесс создания и заполнения этих областей носит названиелогического форматирования. Для создания логической структуры диска используются специальные программы, входящие обычно в состав операционной системы или существующие как независимые утилиты. Содержимое создаваемых областей может полностью или частично заполняться и изменяться не только во время форматирования, но и в процессе последующей работы с данным диском.

Итак, практически каждый логический диск содержит следующие области:

- загрузочная запись или сектор BR (Boot Record);

- одну или две таблицы размещения файлов FAТ (File Allocation Table);

- корневой каталог RD (Root Directory);

- область данных DA (Data Area).

24.6. Загрузочный сектор br (Boot Record).

Загрузочный сектор каждого диска занимает по определению только один сектор. Он хранится в логическом секторе 0. В нём содержится некоторая информация о диске и небольшая программа IPL2 (Initial Program Loading 2).

В начале BR записывает двоичный код команды безусловного перехода JMP с последующим 2-байтовым смещением, указывающим на программу IPL2 и запускающий её. Сама программа IPL2 размещается в конце сектора BR.

За командой JMP следует 8-байтовое поле, в которое записывается информация (в коде ASCII) о марке и версии ОС, выполнившей логическое форматирование.

Безусловно, главным компонентом сектора BR является так называемый блок параметров BIOS-BPB(BIOSParameterBlock). Эта структура содержит информацию о типе носителя (media descriptor), количестве используемых байтов на сектор и секторов на кластер, количестве копий FAT, общее количество секторов, головок в логическом диске и т.д.

Заканчивается сектор BR специальной кодовой комбинацией – 0AA55h – сигнатурой.

24.7. Таблица размещения файлов fat (File Allocation Table).

Таблица размещения файлов располагается непосредственно после загрузочной записи и имеет переменный размер (в секторах). FAT используется для хранения сведений, необходимых для размещений файлов на диске.

Эта таблица состоит из 12-ти, 16-ти или 32-битных элементов, каждый из которых соответствует определённому дисковому пространству и характеризует его состояние соответствующим кодом: занят, свободен или имеет дефект.

Первым элементом каждой таблицы FAT является так называемый дескриптор (media descriptor) определяющий тип носителя. Для жёсткого диска это код F8h. Отметим здесь же, что минимальным элементом, которым MS DOS оперирует при работе с дисками является не сектор, а кластер. Кластер состоит из нескольких секторов (1, 2, 4, 8, и т.д.).

Для дисков с магнитным носителем обычно используется 2-е копии FAT, которые следуют одна за другой. Содержимое их полностью дублируются.