Главная
»
Информационные системы
»
Операционные системы
»
Реализация файловой системы UNIX
Реализация файловой системы UNIX
Одной из важнейших структур данных каждой файловой системы является таблица метаданных, которая хранится на диске и кэшируется в основной памяти. Для любого файла, будь то обычный файл или специализированный, в ней имеется отдельная запись, называемая индексным узлом или чаще i-узлом и содержащая полную информацию о файле (Рис.9.3).
Рис.9.3. Структура индексного узла в UNIX
Первым элементом таблицы метаданных является i-узел корневого каталога.
В индексном узле указываются: владелец файла, разрешенные способы доступа, время последнего обращения с использованием каждого вида доступа, тип файла (Например, «обычный», «каталог», «специализиро-ванный»), его размер в байтах, счетчик ссылок на файл и местоположение дисковых блоков, содержащих данные.
Дисковые блоки, занимаемые обычными файлами и файлами каталога, задаются в i-узле в виде таблицы указателей, первые несколько элементов которой указывают на начальные дисковые блоки файла. Обычно таких элементов бывает 12 и их наличие позволяет значительно ускорить доступ к файлам. За непосредственными указателями следуют косвенные, определяющие блоки указателей. Размер дискового блока в разных системах UNIX может быть различным, но общая структура метаданных одинакова.
Хранение всей информации в единой таблице i-узлов – удачное решение. Однако у него имеется и существенный недостаток: при повреждении части поверхности диска хранящаяся в таблице информация может быть утеряна.
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.