Математика Курс лекций по информатике Машиностроительное черчение Решение задач по физике Теоретические основы электротехники Сопротивление материалов История искусства Ядерные реакторы
Сбои в персональных компьютерах Программа инициализации Управление файлами Программы низкоуровневого форматирования Загрузочные секторы разделов Корневой каталог Таблицы размещения  файлов (FAT) Потери дискового пространства

Корневой каталог. Каталог представляет из себя простую базу данных, в которой содержится информация о файлах, хранящихся на диске. Длина каждой записи в этой базе данных составляет 32 байта и между ее полями и записями нет каких-либо ограничительных или разделительных символов. В каталоге хранятся практически все сведения о файле, доступные DOS: имя и дата создания, атрибуты, размер и координаты начала файла на диске. (Но в каталоге нет данных о том, где расположено продолжение файла, равно как и сведений о его непрерывности или фрагментированности. Эта информация хранится в FAT.)

Каталоги подразделяются на два типа: корневые и подкаталоги. Они, в основном, различаются тем, сколько их может быть на диске и в каких местах они располагаются. В каждом томе DOS может быть только один корневой каталог, и размещается он всегда в определенном месте — сразу следом за двумя копиями FAT. Его размер может быть разным для дисков различных типов и объемов, но для каждого отдельно взятого диска он постоянный. После того как корневой каталог создан, его длина фиксируется и не может быть изменена за счет добавления новых элементов. Обычно в корневом каталоге можно разместить до 512 элементов. Что касается подкаталогов, то они хранятся в области данных диска как файлы, поэтому их длина не ограничивается.

Все каталоги, независимо от того, являются ли они корневыми или подкаталогами, организованы одинаково. Как уже было сказано, они представляют из себя небольшие базы данных с фиксированной длиной записи (32 байта). Данные о файлах, собранные в каталоге, связаны с информацией о тех яке файлах, хранящейся в FAT, через поле, в которое заносятся координаты начального кластера файла. Если бы размеры всех файлов на диске не превышали бы размеров одного кластера, то FAT была бы не нужна. Еще раз повторим, что в каталоге содержатся сведения только о первых занимаемых файлами кластерах — информация об остальных хранится в FAT.

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

Формат каждой 32-разрядной записи в каталоге DOS приведен в табл. 20.13.

Таблица 20.13. Формат записи в каталоге DOS

Смещение Hex

i Dec

Длина поля

Описание

00h

0

8 байт

Имя файла

08h

8

3 байта

Расширение файла

OBh

11

1 байт

Атрибуты файла

OCh

12

10 байт

Зарезервированы

(00h)

16h

22

1 слово

Время создания

18h

24

1 слово

Дата создания

1Ah

26

1 слово

Начальный кластер

1Ch

28

1 двойное слово

Размер в байтах

В графе "Смещение" указаны как шестнадцатиричные (Hex), так и десятичные значения (Dec) смещений соответствующих полей относительно начала записи.

Запись на диски и в файлы в персональных компьютерах