Главная » Информационные системы » Операционные системы » Реализация файловой системы UNIX

Реализация файловой системы UNIX

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

 src=img/9-3.png

Рис.9.3.               Структура индексного узла в UNIX

 

Первым элементом таблицы метаданных является i-узел корневого каталога.

В индексном узле указываются: владелец файла, разрешенные способы доступа, время последнего обращения с использованием каждого вида доступа, тип файла (Например, «обычный», «каталог», «специализиро-ванный»), его размер в байтах, счетчик ссылок на файл и местоположение дисковых блоков, содержащих данные.

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

Хранение всей информации в единой таблице i-узлов – удачное решение. Однако у него имеется и существенный недостаток: при повреждении части поверхности диска хранящаяся в таблице информация может быть утеряна.


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться
Дисциплины