Структура файловой системы UNIX



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

Рис. 1.4. Типичная файловая система UNIX

Суперблок (superblock). Содержит общую информацию о файловой системе, например, об ее архитектуре, общем числе блоков и индексных дескрипторов, или метаданных(inode).

 

Суперблок содержит информацию, необходимую для монтирования и

управления работой файловой системы в целом (например, для размеще!

ния новых файлов). В каждой файловой системе существует только один

суперблок, который располагается в начале раздела. Суперблок считывает!

ся в память при монтировании файловой системы и находится там до ее

отключения (размонтирования).

Суперблок содержит следующую информацию:

· Тип файловой системы (s_type)

· Размер файловой системы в логических блоках, включая сам суперблок, ilist и блоки хранения данных (s_fsize)

· Размер массива индексных дескрипторов (s_isize)

· Число свободных блоков, доступных для размещения (s_tfree)

· Число свободных inode, доступных для размещения (s_tinode)

· Флаги (флаг модификации s_fmod флаг режима монтирования s_fronly)

· Размер логического блока (512, 1024, 2048)

· Список номеров свободных inode

· Список адресов свободных блоков

Поскольку число свободных inode и блоков хранения данных может быть значительным, хранение двух последних списков целиком в суперблоке непрактично. Например, для индексных дескрипторов хранится только часть списка. Когда число свободных inode в этом списке приближается к О, ядро просматривает ilist и вновь формирует список свободных inode.

Для этого ядро анализирует поле di_mode индексного дескриптора, которое равно 0 у свободных inode.

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

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

ИНФОРМАЦИОННЫЕ УЗЛЫ

 

 3.3 Виртуальная файловая система, таблицы и структуры.


Дата добавления: 2018-04-04; просмотров: 420; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!