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

6.4 Файловые системы Ext2, Ext3 и ufs

Файловая система UFS (Unix File System) является основой для многих других файловых систем, в том числе и популярных в Linux Ext2 и Ext3. Несмотря на различия, эти системы имеют общую структуру, которая и будет рассмотрена ниже.

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

В начале файловой системы находится суперблок с основной информацией о строении. Содержимое каждого файла хранится в блоке, который представляет собой группу смежных секторов. Блоки также могут делиться на фрагменты, которые используются для хранения завершающих байтов файла. Метаданные каждого файла и каталога хранятся в i-узлах. Имена файлов хранятся в записях каталогов, содержащихся в выделенных каталогу блоках. На рисунке 56 представлено отношение между записями каталогов, индексных узлов и блоков данных.

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

Рисунок 56 – Отношения между записями каталогов, индексными узлами и блоками данных

  • Функции совместимости. Даже если операционная система не поддерживает какие-то функции, она может смонтировать файловую систему и продолжить работу в обычном режиме.

  • Несовместимые функции. Столкнувшись с ними операционная система не должна монтировать файловую систему.

  • Совместимые только в режиме чтения.

В файловой системе ufs на логическом диске (разделе реального диска) находится последовательность секций файловой системы (Рисунок 57).

Рисунок 57 – Структура расположения данных в файловой системе UFS

Суперблок содержит список свободных блоков и свободные i-узлы (information nodes – информационные узлы). В файловых системах ufs для повышения устойчивости поддерживается несколько копий суперблока (как видно из рисунка 57 по одной копии на группу цилиндров). Каждая копия суперблока имеет размер 8196 байт, и только одна копия суперблока используется при монтировании файловой системы. Однако, если при монтировании устанавливается, что первичная копия суперблока повреждена или не удовлетворяет критериям целостности информации, используется резервная копия.

Блок группы цилиндров содержит число i-узлов, специфицированных в списке i-узлов для данной группы цилиндров, и число блоков данных, которые связаны с этими i-узлами. Размер блока группы цилиндров зависит от размера файловой системы. Для повышения эффективности файловая система ufs старается размещать i-узлы и блоки данных в одной и той же группе цилиндров.

Список i-узлов содержит список i-узлов, соответствующих файлам данной файловой системы. Максимальное число файлов, которые могут быть созданы в файловой системе, определяется числом доступных i-узлов. В i-узле хранится информация, описывающая файл: режимы доступа к файлу, время создания и последней модификации, идентификатор пользователя и идентификатор группы создателя файла, описание блочной структуры файла и т.д.

Блоки данных – в этой части файловой системы хранятся реальные данные файлов. В случае файловой системы ufs все блоки данных одного файла пытаются разместить в одной группе цилиндров. Размер блока данных определяется при форматировании файловой системы и может быть установлен в 512, 1024, 2048, 4096 или 8192 байтов.

Контрольные вопросы по разделу

1 Перечислите функции файловой системы.

2 Чем отличаются функции многопользовательских многопрограммных файловых систем от однопользовательской однопрограммной?

3 Чем отличается иерархия файловых систем UNIX и Windows?

4 Что такое MBR и зачем она нужна?

5 В чём недостаток реализации файлов связными списками?

6 Объясните назначение структуры FAT и её нахождение в памяти?

7 Как хранятся длинные имена файлов в системе FAT-32?

8 Перечислите основные преимущества системы NTFS.

9 Что такое MFT-таблица и MFT-запись?

10 Объясните назначение суперблока в системе UFS.