Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema2.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
653 Кб
Скачать
☆

2.5. Современные файловые системы

В настоящее время существует большое количество файловых систем, но наибольшее распространение в персональных компьютерах получили FAT и NTFS благодаря их применению в семействе операционных систем Windows.

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

Структура логического раздела (логического диска), отформатированного под файловую систему FAT (File Allocation Table – таблица размещения файлов), представлена на рис. 2.9.

Рис. 2.9. Структура файловой системы FAT на логическом диске

Структура логического диска состоит из следующих областей:

  • загрузочный сектор содержит программу начальной загрузки ОС; вид этой программы зависит от типа ОС, которая будет загружаться с этого раздела;

  • основная копия FAT содержит информацию о размещении файлов и каталогов по кластерам на диске в области данных;

  • резервная копия FAT;

  • корневой каталог занимает фиксированную область размером в 32 сектора (16 Кбайт), что позволяет хранить 512 записей о файлах и каталогах, так как каждая запись каталога состоит из 32 байт;

  • область данных измеряется в кластерах и предназначена для размещения всех файлов и всех каталогов, кроме корневого каталога.

В таблице FAT количество индексных указателей соответствует количеству кластеров в области данных, а номер индексного указателя равен номеру соответствующего кластера.

Индексный указатель имеет ограниченный размер (в частности: 12 бит в FAT12, 16 бит в FAT16 и 32 бит в FAT32) и может принимать значения, представленные для FAT16 в табл. 2.2.

Таблица 2.2

Значение индексных указателей таблицы fat16

Значение

Описание

0000h

Свободный кластер

FFF0h – FFF6h

Зарезервированный кластер

FFF7h

Дефектный кластер

FFF8h – FFFFh

Последний кластер в цепочке

0002h – FFEFh

Номер следующего кластера в цепочке

Таблица FAT является общей для всех файлов раздела. После форматирования все индексные указатели (ячейки таблицы FAT) принимают значение 0000h – «кластер свободен» (кроме дефектных и зарезервированных).

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

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

Размер индексных указателей определяет количество кластеров. Например, в FAT12 используются 12-ти битные указатели, поэтому возможно иметь только 212 = 4096 кластеров в области данных диска, в FAT16 – 216 = 65 536 кластеров и в FAT32 – более четырех миллиардов кластеров.

Так как количество кластеров ограничено, то размер кластера зависит от объема логического диска и обычно выбирается из диапазона от 1 до 128 секторов (от 512 байт до 64 Кбайт). Для уменьшения потерь из-за фрагментации желательно кластеры делать небольшими, а для сокращения объема адресной информации и повышения скорости обмена наоборот – чем больше, тем лучше.

Форматирование FAT12 обычно используется для гибких дисков. Файловую систему FAT16 целесообразно использовать для дисков с объемом до 512 Мбайт (несмотря на то, что эта файловая система позволяет иметь максимальный раздел логического диска до 4 Гбайт), чтобы размер кластера не превышал 8 Кбайт.

Для больших дисков до 32 Гбайт лучше подходит файловая система FAT32, которая способна использовать кластеры 4 Кбайт при работе с логическими дисками объемом до 8 Гбайт или кластеры 8 Кбайт для дисков от 8 Гбайт до 16 Гбайт.

Дальнейшее увеличение объема логического диска приводит к дальнейшему увеличению размера кластера (16 Кбайт или 32 Кбайт) и потерь за счет неполноты заполнения последнего кластера файла.

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

Таблица FAT загружается в оперативную память, причем, если позволяет место, то полностью. В связи с важностью таблицы FAT она хранится на диске в двух экземплярах. Обновляются обе таблицы одновременно, а используется только основная таблица. Если основная таблица окажется разрушенной, то произойдет обращение к резервному экземпляру. Например, утилита ScanDisk из ОС Windows 9x при обнаружении несоответствия основной и резервной таблиц предлагает восстановить главную таблицу, используя данные из копии.

Понятие «файл» для файловой системы включает не только имя и хранимые в выделенных кластерах данные, но и атрибуты – свойства файла. Поэтому в каталогах файловой системы для каждого файла выделяется запись (строка) размером 32 байта, в которой в FAT16 и FAT12 указываются следующие данные:

  • имя файла – 8 символов (8 байт);

  • расширение файла – 3 символа (3 байта);

  • атрибуты файла (1 байт) – архивный, скрытый, системный, только для чтения;

  • резерв – 10 байт;

  • время последней записи (2 байта);

  • дата последней записи (2 байта);

  • номер начального кластера (2 байта);

  • размер файла в байтах (4 байта).

В FAT32 для номера начального кластера выделено 4 байта и вместо резервной области добавлены следующие атрибуты:

  • время создания файла (2 байта);

  • дата создания файла (2 байта);

  • дата последнего доступа (2 байта).

Корневой каталог отличается от обычного файла-каталога тем, что он помимо размещения в фиксированном месте логического диска (см. рис. 2.9)имеет еще и фиксированное число записей – 512.

Раньше в ОС использовались лишь короткие имена файлов по схеме «8.3». Начиная с Windows 95OSR2 файловые системы FAT16 стали поддерживать длинные имена файлов размером до 255 символов, причем каждый символ хранится в двухбайтном формате Unicode.

Имя по схеме «8.3» стали называть «коротким именем» и оно по-прежнему хранится в первых 11 байтах записи каталога (для совместимости со старыми приложениями), а длинное имя помещается порциями по 13 символов в одну или несколько записей, следующих непосредственно за основной записью каталога.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]