FAT
Шаблон:Fat FAT (от англ. File Allocation Table — «таблица размещения файлов») — файловая система, используемая в операционных системах DOS и Windows.
1. Структура системы FAT
Логический диск, отформатированный в системе FAT, имеет следующие разделы:
- загрузочный сектор;
- таблица размещения файлов — собственно FAT (традиционно в двух экземплярах);
- корневой каталог;
- файлы.
Для хранения файлов всё доступное для них пространство разбивается на кластеры. Таблица размещения файлов содержит ячейки, каждая из которых указывает на определенный кластер на жестком диске. Если кластер принадлежит файлу, то его ячейка содержит номер следующей ячейки этого же файла. Если ячейка указывает на конец файла, она содержит значение «FFFF». Неиспользуемые кластеры помечены нулём. «Плохие» кластеры помечены специальным кодом.
Максимальный размер кластера, который поддерживается в FAT составляет 32 килобайта. Зная, что максимальное количество кластеров , которое можно проадресовать шестнадцатиразрядным указателем равно 65536, можно вычислить какой величины раздел можно отформатировать применяя тот или иной размер кластера. Если взять размер кластера равным размеру физического кластера, то получим: 65536*512/1024/1024=32 Мб. если взять кластер в 2 раза больше, то можно отформатировать раздел уже до 64мб. Ввиду того, что разрядность ФС величина постоянная, для форматирования дисков различных размеров будут применяться разные размеры кластеров. Например, чтобы отформатировать диск более 1 Гбайт нужно применять кластер 32 Кбайт. Поскольку такой размер кластера является максимально допустимым в этой ФС, то можно определить, что максимальный размер раздела форматируемый под FAT равен 2 Гбайт.
2. Отказоустойчивость системы
Поскольку система FAT хранит данные о файлах и данные о свободном месте на диске в одной таблице, то операция по записи файла, традиционно состоящая из двух этапов (1) добавление занимаего блока в перечень занятых 2) исключение этого же блока из списка свободных) происходит в FAT в одно действие. Благодаря этому система FAT обладает врожденной устойчивостью к сбоям, т.е. сбой (например, питания) в момент выполнения операции над файлом не приводит к утере или искажению данных.[источник?]
3. Версии системы FAT
Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма.
В различных операционных системах также были внедрены различные расширения FAT. Например, в DR-DOS имеются дополнительные атрибуты доступа к файлам; в Windows 95, Linux и Proolix — поддержка длинных имён файлов в формате Unicode (VFAT); в OS/2 — расширенные атрибуты файлов.