File Allocation Table
Материал из Википедии — свободной энциклопедии
FAT12 | FAT16 | FAT32 | |
---|---|---|---|
Разработчик | Microsoft | ||
Полное название | File Allocation Table (русск. Таблица Размещения Файлов) | ||
(12-bit версия) | (16-bit версия) | (32-bit версия) | |
Представлена | 1977 (Microsoft Disk BASIC) | Июль 1988 (MS-DOS 4.0) | Август 1996 (Windows 95 OSR2) |
Идентификатор тома | 0x01 (MBR) | 0x04, 0x06, 0x0E (MBR) | 0x0B, 0x0C (MBR) EBD0A0A2-B9E5-4433 -87C0-68B6B72699C7 (GPT) |
Структуры | |||
Содержимое директории | Таблица | ||
Размещение файлов | Линейный список | ||
Сбойные блоки | Тегирование кластера | ||
Ограничения | |||
Максимальный размер файла | 32 MiB | 2 GiB | 4 GiB |
Максимальное количество файлов | 4.077 | 65.517 | 268.435.437 |
Максимальная длина имени файла | 8.3, или 255 символов при использовании LFN | ||
Максимальный размер тома | 32 MiB | 2 GiB 4 GiB |
8 TiB |
Возможности | |||
Сохраняемые даты | Создания, модификации, доступа | ||
Диапазон дат | 1 января, 1980 - 31 декабря, 2107 | ||
Дополнительные данные | Изначально не поддерживаются | ||
Attributes | Только для чтения, скрытый, системный, метка тома, подкаталог, архивный | ||
Разграничение прав доступа | Нет | ||
Прозрачное сжатие | Per-volume, Stacker, DoubleSpace, DriveSpace | Нет | |
Прозрачное шифрование | Per-volume only with DR-DOS | Нет |
FAT (от англ. File Allocation Table — «таблица размещения файлов») — файловая система, используемая в операционных системах DOS и Windows.
Содержание |
[править] Структура системы FAT
Логический диск, отформатированный в системе FAT, имеет следующие разделы:
- загрузочный сектор;
- таблица размещения файлов — собственно FAT (традиционно в двух экземплярах);
- корневой каталог;
- файлы.
Для хранения файлов всё доступное для них пространство разбивается на кластеры. Таблица размещения файлов содержит ячейки, каждая из которых указывает на определённый кластер на жёстком диске. Если кластер принадлежит файлу, то его ячейка содержит номер следующей ячейки этого же файла. Если ячейка указывает на конец файла, она содержит значение «FFFF». Неиспользуемые кластеры помечены нулём. «Плохие» кластеры помечены специальным кодом «FFF7».
Максимальный размер кластера, который поддерживается в FAT, составляет 32 Кб. Зная, что максимальное количество кластеров, которое можно проадресовать шестнадцатиразрядным указателем равно 65536, можно вычислить какой величины раздел можно отформатировать, применяя тот или иной размер кластера. Если взять размер кластера равным размеру физического кластера(сектора), то получим: 65536*512=32 Мб. Если взять кластер в 2 раза больше, то можно отформатировать раздел уже до 64 Мб. Ввиду того, что разрядность ФС величина постоянная, для форматирования дисков различных размеров будут применяться разные размеры кластеров. Например, чтобы отформатировать диск более 1 Гб, нужно применять кластер 32 Кб. Поскольку такой размер кластера является максимально допустимым в этой ФС, то можно определить, что максимальный размер раздела, форматируемый под FAT, равен 2 Гб.
[править] Отказоустойчивость системы
Поскольку система FAT хранит данные о файлах и данные о свободном месте на диске в одной таблице, то операция по записи файла, традиционно состоящая из двух этапов (добавление занимаемого блока в перечень занятых и исключение этого же блока из списка свободных) происходит в FAT в одно действие. Благодаря этому система FAT обладает врождённой устойчивостью к сбоям, то есть сбой (например, питания) в момент выполнения операции чтения или записи в большинстве случаев не приведёт к разрушению файловой системы. Однако следует помнить, что в данном случае речь идёт именно о целостности файловой системы, а не самих файлов.
[править] Версии системы FAT
Существует три версии FAT — FAT12, FAT16 и FAT32. Они отличаются количеством бит, отведённых для хранения номера кластера. FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма.
В различных операционных системах также были внедрены различные расширения FAT. Например, в DR-DOS имеются дополнительные атрибуты доступа к файлам; в Windows 95, Linux и Proolix — поддержка длинных имён файлов в формате Unicode (VFAT); в OS/2 — расширенные атрибуты файлов.
[править] См. также
|