Структура каталога в ФС FAT

Большую роль в файловой системе играет каталог. В ФС 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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: