Файловая система FATхх. Назначение и организация таблицы распределения файлов. Типы записей в FAT
Важнейшим компонентом физической организации файловой системы является физическая организация файла, то есть способ размещения файла на диске. Основными критериями эффективности физической организации файлов являются: скорость доступа к данным; объем адресной информации файла; степень фрагментированности дискового пространства; максимально возможный размер файла.
Файловая система FAT использует связанный список индексов. Этот способ является модификацией способа размещения файла в виде связанного списка кластеров дисковой памяти. Файлу выделяется память в виде связанного списка кластеров. Номер первого кластера запоминается в записи каталога, где хранятся характеристики этого файла. Остальная информация отделена от кластеров файла. С каждым кластером диска связывается некоторый элемент – индекс. Индексы располагаются в отдельной области диска – таблице FAT (File Allocation Table). В MS-DOS эта таблица занимает один кластер. Когда память свободна все индексы имеют нулевое значение. Если некоторый кластер N назначен некоторому файлу, то индекс этого кластера становится равным либо номеру M следующего кластера данного файла, либо принимает специальное значение, являющееся признаком того, что этот кластер является последним. Индекс же предыдущего кластера принимает значение N, указывая на вновь назначенный кластер. Достоинства файловой системы FAT: 1) минимальность адресной информации; 2) отсутствие фрагментации; 3) отсутствие проблем при изменении размера; 4) для доступа к произвольному кластеру файла не требуется последовательно считывать его кластеры, достаточно прочитать только секторы диска, содержащие таблицу индексов, отсчитать нужное количество кластеров файла по цепочке и определить номер нужного кластера; 5) данные файла заполняют кластер целиком, а значит, имеют объем, равный степени двойки. Недостаток файловой системы FAT: при разрыве списка индексных указателей в одном месте теряется информация обо всех последующих кластерах файла.
Физическая организация FAT
Логический раздел, отформатированный под файловую систему FAT, состоит из следующих областей. 1.) Загрузочный сектор содержит программу начальной загрузки ОС. Вид этой программы зависит от типа ОС, которая будет загружаться из этого раздела. 2.) Основная копия FAT содержит информацию о размещении файлов и каталогов на диске. 3.) Резервная копия FAT. 4.) Корневой каталог занимает фиксированную область размером в 32 сектора (16 Кбайт), что позволяет хранить 512 записей о файлах и каталогах, так как каждая запись каталога состоит из 32 байт. 5.) Область данных предназначена для размещения всех файлов и всех каталогов, кроме корневого каталога.
Файловая система FAT поддерживает всего два типа файлов: обычный файл и каталог. Файловая система распределяет память только из области данных, причем использует в качестве минимальной единицы дискового пространства кластер.
При размещении файла ОС просматривает FAT, начиная с начала, и ищет первый свободный индексный указатель. После его обнаружения в поле записи каталога «номер первого кластера» фиксируется номер этого указателя. В кластер с этим номером записываются данные файла, он становится первым кластером файла. Если файл умещается в одном кластере, то в указатель, соответствующий данному кластеру, заносится специальное значение «последний кластер файла». Если же размер файла больше одного кластера, то ОС продолжает просмотр FAT и ищет следующий указатель на свободный кластер. После его обнаружения в предыдущий указатель заносится номер этого кластера, который теперь становится следующим кластером файла. Таким образом создается связанный список всех кластеров файла.
При удалении файла из файловой системы FAT в первый байт соответствующей записи каталога заносится специальный признак, свидетельствующий о том, что эта запись свободна, а во все индексные указатели файла заносится признак «кластер свободен». Это оставляет шансы для восстановления ошибочно удаленного файла.