Большую роль в файловой системе играет каталог. В ФС FAT выделяют корневой каталог, который создается во время логического форматирования диска и располагается на диске вслед за таблицами индексов, и подкаталоги, которые создаются пользователем или приложениями и по способу хранения являются файлами, а по структуре аналогичны корневому каталогу. Любой каталог состоит из набора элементов, в которые записываются данные обо всех файлах, в том числе и файлах-каталогах, которые в нём созданы. То есть каждый файл или подкаталог в каком либо каталоге имеют о себе запись (в виде элемента). Размер одного элемента 32 байта. Элемент каталога содержит регистрационную информацию о файле, ту которая выводится файловыми менеджерами: имя файла, тип, атрибуты, дата и время создания и модификации, размер файла, а также поле, связывающее имя файла с его размещением на диске –«номер начального кластера». На Рис. 23 показана структура элемента каталога.
Приведём некоторую характеристику полей элемента каталога.
|
|
8байт | 3байта | 1байт | 10 байт | 2 байта | 2 байта | 2байта. | 4байта |
Имя файла | Тип | Атрибут | Зарезервировано | Время | Дата | № начального кластера размещения файла | Размер файла |
Рис. 23 Структура элемента каталога в файловой системе FAT
Имя файла короткое имя файла, размер 8 символов, текст выравнивается влево. В первом байте может находится один из видов кода: элемент каталога свободен; код символа с которого начинается имя файла расположенного в данном элементе; код удаления файла - код первого символа изменяется, значения всех остальных полей элемента каталога остаются, используется в утилитах восстановления файла.; код точки, если второй символ имени тоже код точки, то элемент каталога содержит запись о подкаталоге –предке, в поле «№ начального кластера» содержится указатель на размещения данного подкаталога в области данных. Если в таком элементе каталога поле «№ начального кластера» содержит нули, то каталогом предком является корневой подкаталог.
Тип файла – расширение имени файла. Необязательное поле, выравнивание по левому краю, заносится пользователем или формируется приложениями, в среде которого создается файл.
Атрибут – отражает характеристики конкретного файла. Под хранения атрибутов выделен 1 байт (8 бит) Рис. 24. Каждый бит этого байта отвечает за один атрибут и устанавливается либо в 1 – атрибут назначен, либо в 0 – атрибут отменён.
X | X | A | SD | L | S | H | RO |
Рис. 24. Формат байта атрибутов файла
Обозначения битов: RO – только считываемый файл; H – скрытый файл; S – системный файл; L – метка диска (тома); SD – элемент подкаталога; A –архивный файл; X – не используется.
|
|
Например, если в байте «Атрибут» хранится запись 00100100- это системный архивный файл, а запись 00010000 относится к подкаталогу. Так как атрибут L- метка тома для файлов не используется, то он используется в настоящее время для взаимосвязи короткого и длинного имени. Т.е. если данный атрибут установлен в 1, это значит к данному элементу каталога будут подсоединены дополнительные элементы, содержащие фрагменты длинного имени файла.
Время, Дата – содержат беззнаковые целые числа, которые в закодированном виде показывают время и дату создания файла.
№ начального кластера – содержание этого поля называют полем связи имени файла с началом размещения файла в индексной таблице FAT (точка входа в FAT). Оно указывает на элемент индексной таблицы FAT, который содержит номер первого кластера размещения файла в области данных, т.е. началом в цепи размещения файла.
Размер файла - размер поля 4байта, что позволяет указать размер файла до 4 гигабайт. Данное поле часто используется антивирусными программами.
По мере совершенствования аппаратного и программного обеспечения файловая система FAT претерпевала изменения. В настоящее время известны файловые системы FAT12, FAT16, FAT32. Эти файловые системы значительно отличаются друг от друга (при неизменном принципе размещения файлов). Разные цифры в их названии характеризуют разную разрядность индекса в FAT таблице, а отсюда разное количество адресуемых кластеров и разная емкость дисков.
Файловые системы FAT12 и FAT16 оперировали с именами файлов, состоящими из 12 символов по схеме «8.3». В версии FAT16 операционной системы Windows NT был введен новый тип записи каталога — «длинное имя», что позволяет использовать имена длиной до 255 символов, причем каждый символ длинного имени хранится в двухбайтном формате Unicode (216). Имя по схеме «8.3», названное теперь коротким, по-прежнему хранится в 12-байтовом поле имени файла в записи каталога, а длинное имя помещается порциями по 13 символов в одну или несколько записей, следующих непосредственно за основной записью каталога.
Таким образом, у файла появляются два имени — короткое, для совместимости со старыми приложениями в коде ASCII, и длинное имя в Unicode. Файловая система FAT32 поддерживает короткие и длинные имена.
Файловая система FAT32 поддерживается сегодня и другими ОС, такими как UNIX, OS/2, Windows NT(ХР) и Windows 9Х. Однако из-за постоянно растущих объемов жестких дисков, а также возрастающих требований к надежности, разработаны файловые системы других типов, например NTFS.