Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебн пособ ОС (Кручинин).doc
Скачиваний:
34
Добавлен:
05.05.2019
Размер:
1.52 Mб
Скачать

6.2 Файловая система fat

Файловая система FAT (File Allocation Table – Файловая таблица распределения) является одной из простейших систем. Основная концепция файловой системы FAT заключается в том, что каждому файлу и каталогу выделяется структура данных, называемая записью каталога. В этой структуре хранится имя файла, его размер, начальный адрес содержимого файла и другие метаданные. Содержимое файлов и каталогов хранится в блоках данных, называемых кластерами. Если файлу или каталогу выделяется более одного кластера, остальные кластеры находятся при помощи структуры данных, называемой FAT. Существуют 3 версии FAT: FAT12, FAT16 и FAT32. Они отличаются между собой размером записей в структуре FAT. На рисунке 47 показана общая схема между структурами данных [5].

Рисунок 47 – Отношения между записями каталогов, кластерами и FAT

Файловая система FAT делится на три физические области.

  • Зарезервированная область, в которой хранятся данные из категории файловой системы. Размер её определяется в загрузочном секторе. В FAT12 и FAT16 занимает всего 1 сектор.

  • Область FAT – содержит основные и резервные структуры FAT. Она начинается в секторе, следующем за зарезервированной область, а её размер определяется количеством и размером структур FAT.

  • Область данных содержит кластеры, выделяемые для хранения файлов и содержимого каталогов (Рисунок 48).

Рисунок 48 – Физическая структура файловой системы FAT

Для того, чтобы открыть файл операционная система должна прочитать соответствующую запись каталога. Первоначальная каталоговая запись системы FAT представлена на рисунке 49.

Рисунок 49 – Формат каталоговой записи в системе FAT

FAT-12, 16 и 32 различаются размерами минимальных блоков (кластеров), общим максимальным объемом диска и разрядностью указателей на эти блоки (12, 16, 28 разряда). FAT-12 применялась на гибких дисках. Размер дискового раздела мог составлять 2 Мб, а размер блока 512 байт, 1 Кб, 2 Кб, 4 Кб. FAT-16 вы можете использовать и сейчас, например отформатировав флеш-носитель небольшого размера. Кластеры здесь размером 8, 16 или 32 Кб. Максимальный размер дискового раздела (логический диск) – 2 Гб, максимальный размер диска – 8 Гб. Таблица FAT занимает в памяти 128Кб. В FAT32 размер разделов ограничен 2Тб (2048 Гб). Размеры кластеров остались прежними. FAT32 широко используется и по сей день. При этом изменился формат каталоговой записи, который представлен на рисунке 50.

Рисунок 50 – Формат каталоговой записи в системе FAT32

Если у файла есть также длинное имя, оно хранится в одной или нескольких каталоговых записях, предшествующих описателю файла (Рисунок 50). Каждая такая запись содержит до 13 символов формата Unicode. Элементы имени хранятся в обратном порядке, начинаясь сразу перед описателем файла в формате MS-DOS и последующими фрагментами перед ним. Формат каждого фрагмента имени представлен на рисунке 51.

Рисунок 51 – Формат каталоговой записи с фрагментом длинного имени файла

Операционная система отличает стандартные каталоговые записи от записей с фрагментом длинного файла по полю Attributes (атрибуты). Для фрагмента длинного имени это поле содержит значение 0x0F, что соответствует невозможной комбинации атрибутов для описателя файла в MS-DOS. Старые программы, написанные для работы в MS-DOS, читая каталог, просто игнорируют такие описатели как неверные.

Реализация файловой системы FAT-32 концептуально близка к реализации файловой системы FAT-16. Однако вместо массива из 65 536 элементов в ней используется столько, сколько нужно, чтобы покрыть весь раздел диска. Если диск содержит миллион блоков, то и таблица будет состоять из миллиона элементов. Для экономии памяти система Windows 98 не хранит их все сразу в памяти, а использует окно, накладываемое на таблицу.