Файловая система FAT и управление данными в MS-DOS
Рассмотрим подробно, как хранится вся информация о файле, имеющаяся в системе FAT.
При создании файла в одном из каталогов файловой системы создается запись, хранящая основной объем информации об этом файле. Каждый каталог, кроме корневого, также является файлом особого вида, и запись о нем содержится в родительском каталоге. Каталожная запись всегда занимает 32 байта, ее структура показана в табл. 3.1.
Таблица 3.1
Структура записи каталога файловой системы FAT
|
Поле записи |
Размер поля (в байтах) |
|
Имя файла |
8 |
|
Расширение имени (тип файла) |
3 |
|
Атрибуты (флаги) |
1 |
|
Размер файла (в байтах) |
4 |
|
Дата последнего изменения |
2 |
|
Время последнего изменения |
2 |
|
Резерв (не используется) |
10 |
|
Номер первого кластера файла |
2 |
Как видно из таблицы, имя файла может занимать не более 8 символов плюс еще 3 символа расширения. В начале 80-х годов казалось, что этого вполне достаточно. Позднее это ограничение окрестили «проклятием 8 + 3», и избавить от него файловую систему FAT удалось только в Windows 95.
Байт атрибутов содержит набор битов, характеризующих свойства файла. Наряду с практически бесполезными атрибутами «скрытый», «системный» и «архивный», там содержатся и важные: «только для чтения», «каталог» и «метка тома». Атрибут «только для чтения» запрещает системе удалять файл или открывать его для записи. Атрибут «каталог» означает, что данная запись описывает не обычный файл, а каталог. Атрибут «метка тома» может содержаться только в корневом каталоге, такая запись не описывает никакой файл, а вместо этого содержит в полях имени и расширения 11-символьную метку (имя), присвоенную данному дисковому тому.
В целом, запись каталога содержит почти все, что системе известно о файле, а если размер файла не превышает одного кластера, то полностью все. Если же файл содержит более одного кластера, то номера остальных можно найти в таблице FAT.
предыдущаяследующая