Индексные узлы в иР8 мало чем отличаются от своих аналогов в Ех1Х. Каждая группа цилиндров содержит таблицу индексных узлов; местонахождение таблицы задается в суперблоке. В 11Р81 все индексные узлы инициализируются при создании файловой системы. В иР82 используются динамические индексные узлы: они инициализируются по мере надобности, а пространство таблицы индексных узлов может использоваться для хранения содержимого файлов, если все остальные блоки файловой системы окажутся заполненными. Для каждого файла и каталога выделяется один индексный узел, в котором хранится адрес блоков, выделенных файлу, размер файла и временные штампы.

В индексных узлах ОТЗ хранятся 12 прямых указателей на блоки и по одному косвенному указателю первого, второго и третьего уровня. Адрес в каждом указателе относится к полному блоку; исключение составляет последний указатель, который может ссылаться на один или несколько фрагментов. Количество фрагментов определяется размером файла. В 11Р81 используются 32-разрядные указатели, а в иР82 - 64-разрядные.

иР8 поддерживает разреженные файлы, упоминавшиеся в главе 8. Если часть содержимого файла не определена или весь блок заполнен нулями, ОС обычно не выделяет блок из дискового пространства. Вместо этого в указатель заносится значение 0, а при чтении из файла передается блок, заполненный нулями.

Типы и разрешения доступа к файлам в UFS не отличаются от используемых в ExtX. В индексных узлах хранятся время последней модификации, обращения и изменения, но время удаления не поддерживается. С другой стороны, в UFS2 в индексные узлы добавлено время создания. Значения временных штампов хранятся в виде количества секунд, прошедших с 12:00 1 января 1970 года в формате UTC, а для повышения точности также хранится количество наносекунд. В UFS1 используются 32-разрядные временные штампы, а в UFS2 - 64-разрядные.

Каждому индексному узлу присваивается адрес, нумерация адресов начинается с 0. Обратите внимание: в этом отношении UFS отличается от системы ExtX, в которой нумерация начинается с 1. Индексные узлы 0 и 1 зарезервированы, но не задействованы ни для каких целей. Индексный узел 1 раньше содержал информацию о поврежденных блоках. Узел 2 зарезервирован для корневого каталога. Состояние выделения индексного узла определяется по битовой карте индексных узлов, хранящейся в дескрипторе группы. Чтобы определить, к какой группе принадлежит индексный узел, следует разделить его адрес на количество индексных узлов в группе, взятое из суперблока. Структуры данных индексных узлов UFS1 и UFS2 подробно описаны в следующей главе.

Дескриптор группы цилиндров | Криминалистический анализ файловых систем | Расширенные атрибуты


Криминалистический анализ файловых систем



Новости за месяц

  • Март
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс