Таблица размещения файлов
Она представляет карту области данных, в которой описывается состояние каждого участка области данных. Область данных разбивают на кластеры. Кластер – это один или несколько смежных секторов в логическом адресном пространстве области данных. В таблице FAT кластеры, принадлежащие одному файлу (или некорневому каталогу), связываются в цепочки. Для указания номера кластера в FAT-16 используется 16-битовое слово, следовательно, можно иметь до 216 = 65536 кластеров (с номерами от 0 до 65535). В FAT – 32 в 32-битовом слове фактически учитывается только 28 разрядов, поэтому количество кластеров не может превышать 228 = 268 435 456.
Кластер – это минимальная адресуемая единица дисковой памяти, выделяемая файлу (или некорневому каталогу). Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приведет к заметной потере дискового пространства при большом размере кластера. На дискетах кластер занимает 2 сектора, а на жестких дисках – в зависимости от объема раздела от 2 до 32 секторов. Слишком большой размер кластера ведет к неэффективному использованию дискового пространства, особенно в случае большого количества маленьких файлов.
|
|
Первый допустимый номер кластера всегда начинается с номера 2. Номера кластеров всегда соответствуют элементам таблицы размещения файлов.
Наглядно идею файловой системы FAT можно проиллюстрировать с помощью рис.2.
Directory Entry Начальный номер кластера
Начальный номер кластера записывается в элемент каталога (Directory Entry). Таблица FAT имеет столько элементов, сколько имеется кластеров на диске. В элемент таблицы FAT с номером, соответствующим номеру кластера цепочки, записывается номер следующего кластера цепочки. При форматировании диска в элементы FAT, соответствующие дефектным кластерам, записывается код F7. Свободные кластеры помечаются кодом 00. В элемент FAT, соответствующий последнему кластеру цепочки, записывается код FF.
Из рисунка видно, что файл с именем My_file.txt размещается, начиная с восьмого кластера. Цепочка кластеров для этого файла имеет вид:
При выделении нового кластера для записи файла берется первый свободный кластер. Т.к. файлы в процессе работы изменяются, то это правило приводит к фрагментации файлов, т.е. данные одного файла могут располагаться не в смежных кластерах, образуя сложные цепочки. Это приводит к замедлению работы с файлами.
В связи с чрезвычайной важностью FAT она обычно хранится в двух идентичных экземплярах, второй из которых непосредственно следует за первым.
Для каждого файла и каталога в файловой системе хранится следующая информация: имя файла или каталога, атрибуты файла, резервное поле, время создания, дата создания, дата последнего доступа, зарезервировано, время последней модификации, дата последней модификации, номер начального кластера в FAT, размер файла.
Структура системы файлов является иерархической. Элементом каталога может быть такой файл, который сам, в свою очередь, является каталогом.