Физическая организация FAT
Вся информация о размещении файлов на диске находится в Таблице Размещения Файлов (File Allocation Table, FAT). Разработана в 1981 году и используется в ОС MS DOS и Windows.
Логический диск, отформатированный под файловую систему FAT состоит из следующих областей.
Загрузочный сектор 521 байт | Содержит программу начальной загрузки ОС, вид программы зависит от типа ОС | |
0 1 2 3 4 …… элементы (указатели) FAT | Содержит информацию о размещении файлов и каталогов | |
Резервная копия FAT | ||
32 бита – одна запись каталога | Корневой каталог занимает фиксированную область 32 сектора (16 Кбайт), что позволяет хранить информацию о 512 записей | |
Область данных (кластеры) | Область данных, предназначена для размещения всех файлов и каталогов, кроме корневого |
Файловая система FAT поддерживает два типа файлов: обычный файл и каталог. Память распределяется только в области данных. причем используется в качестве минимальной единицы дискового пространства – кластер, размером от 2 кб до 64 кб.
Таблица FAT, как основная, так и резервная, состоит из массива индексных указателей, количество которых равно количеству кластеров в области данных. Между кластерами и индексными указателями имеется взаимно однозначное соответствие, нулевой индексный указатель соответствует нулевому кластеру и т.д.
Индексный указатель может принимать следующие значения, характеризующие состояние связанного с ним кластера:
Кластер свободен (не используется);
Кластер занят – используется файлом и не является последним кластером файла. В этом случае индексный указатель содержит номер следующего кластера файла;
Последний кластер файла;
Дефектный кластер (bad block);
Резервный кластер;
Запись каталога имеет вид (32 байта)
Имя файла | расширение | R | A | H | S | резерв |
время | дата | № первого кластера | размер |
FAT – таблица является общей для всех файлов диска. В исходном состоянии, после форматирования, все кластеры свободны и все индексные указатели принимают значение «Кластер свободен», кроме дефектных и резервных.
При размещении файла ОС просматривает FAT-таблицу, начиная с начала, и ищет первый свободный индексный указатель. После его обнаружения в поле записи каталога «номер первого кластера» записывается номер этого указателя, а в кластер с этим номером записываются данные файла, и этот кластер становится первым кластером файла. Если файл умещается в одном кластере, то в указатель этого кластера заносится значение «последний кластер файла».Если файл не умещается в одном кластере, то ищется следующий свободный индексный указатель, а в соответствующий кластер заносятся данные файла. В предыдущий индексный указатель заносится номер следующего кластера, занятого данным файлом. Так продолжается до тех пор, пока весь файл не будет записан на диск, при этом образуется список всех кластеров, который занимает данный файл.
После форматирования файлы будут размещается в последовательных кластерах, но после удаления данных, запись будет проводится в уже не смежные кластеры. Расположение данных в несмежных кластерах называется фрагментацией данных.
File1 | ||||||||
File2 | ||||||||
FAT | ||||||||
послед | ||||||||
послед |
Списки указателей файлов в FAT
Размер FAT- таблицы и разрядность индексных указателей определяется количеством кластеров в области данных. Разрядность индексного указателя должна быть такой, чтобы в нем можно было задать максимальный номер кластера для диска определенного размера. Существует несколько разновидностей FAT, которые отличаются разрядностью индексных указателей.
FAT12 - 12 – разрядные указатели ( 212 ), 4096 кластеров (дискета)
FAT16 - 16 – разрядные указатели ( 216 ), 65 536 кластеров, диск 4 гб
FAT32 - 32 – разрядные указатели ( 232 ), более 4 миллиардов кластеров
При удалении файла из файловой системы FAT в первый байт соответствующей записи каталога, то в имя файла, заносится специальный символ – запись свободна, а во все индексные указатели заносится признак «кластер свободен». Но остальные данные в записи каталога, в том числе номер первого кластера не изменяются, данные на диске в соответствующих кластерах не изменяются. Это дает возможность восстанавливать удаленные файлы.
Резервная копия FAT всегда синхронизируется с основной копией при любых операциях с файлами, и может использоваться в случае повреждения основной таблицы.
В версии FAT16 введен новый тип записи каталога – «длинное имя». Короткое имя, по схеме «8.3», по-прежнему хранится в 12-байтовом поле имени файла записи каталога, а длинное имя помещается порциями по 13 символов в одну или несколько записей, следующих непосредственно за основной записью каталога.
Файловая система FAT получила большое распространение благодаря использованию в ОС MS DOS и WINDOWS. В настоящее время вытесняется файловыми системами других типов, например NTFS.
Дата добавления: 2015-08-11; просмотров: 3124;