<<

Записи каталогов

  Структуры данных записей каталогов предназначены для хранения имен файлов и каталогов. Они хранятся в блоках, выделенных каталогам. Каждая структура данных содержит имя файла и адрес индексного узла с метаданными.
Поля записей каталогов в UFS1 и UFS2 представлены в табл. 17.11.

Таблица 17.11. Структура данных записей каталогов UFS1 и UFS2

Диапазон

Описание

Необходимость

0-3

Индексный узел

Да

4-5

Длина записи каталога

Да

6-6

Длина имени

Да

7-7

Тип файла (см. табл. 17.12)

Нет

8+

Имя в кодировке ASCII

Да

Допустимые значения поля типа файла перечислены в табл. 17.12.

Таблица 17.12. Значения поля типа в записи каталога


Значение

Описание


0

Неизвестный тип


1

FIFO


2

Символьное устройство


4

Каталог


6

Блочное устройство


8

Обычный файл


10

Символическая ссылка


12

Сокет


14

Дубликат



Разные типы файлов, кроме последнего, были описаны в главе 15. Последний тип используется в том случае, если файловая система монтировалась в режиме объединения, вследствие чего появляются два файла с одинаковыми именами. Для одного из файлов устанавливается флаг дубликата, и ОС не отображает его по запросу пользователя.
Поле длины записи каталога используется для поиска следующей выделенной записи, а поле длины имени — для определения конца имени и фактической длины записи. За информацией об освобождении и выделении записей каталогов обращайтесь к разделу «Категория данных имен файлов» главы 14.
Содержимое каталога UFS1 в тестовой файловой системе выглядит так: icat -f openbsd openbsd.dd 1921 | xxd 0000000: 8107              0000              OcOO              0102              2e00              0000              0200              0000
0000016: OcOO              0402              2e2e              0000              8c07              0000              1400              0809
0000032: 6669              6c65              312e              7478              7400              93e7              8d07              0000 />0000048: 1400              0809              6669              6c65              382e              7478              7400              93e7
0000064: 8e07              0000              2800              0809              6669              6c65              372e              7478
0000080: 7400              93e7              8f07              0000              1400              0809              6669              6c65
0000096: 362e              7478              7400              93e7              9007              0000              1400              0809
0000112: 6669              6c65              352e              7478              7400              93e7              9107              0000
0000128: 2800              0809              6669              6c65              342e              7478              7400              93e7
0000144: 9207              0000              1400              0809              6669              6c65              372e              7478
[...]
Содержимое каталогов подробно рассматривалось в главе 15, поэтому сейчас я ограничусь краткими пояснениями. Первые четыре байта описывают индексный

узел записи «.»; как видно из листинга, это индексный узел 1921 (0x0781).
Байты 24-27 содержат номер индексного узла для первой записи файла filel.txt; это индексный узел 1932 (0x078с). Байты 68-69 содержат поле длины для файла file7.txt. Его длина составляет 40 байт (0x28), хотя имя занимает всего 9 байт. Следующая запись (для файла file6.txt) была удалена, а поле длины файла file7.txt ссылается на запись после file6.txt.
Выходные данные fls для этого каталога выглядят так:

# fl

s -f openbsd

-a openbsd.dd 1921

d/d

1921:


d/d

2:


г/г

1932:

filel.txt

г/г

1933:

file8.txt

г/г

1934:

file7.txt

г/-

* 1935:

file6.txt

г/г

1936:

file5.txt

г/г

1937:

file4.txt

г/-

* 1938:

file3.txt

г/г

1939:

file2.txt

г/-

* 1940:

filel0.txt

г/г

1941:

file9.txt


Итоги
В этой главе были описаны структуры данных файловых систем UFS1 и UFS2. По сравнению со своими аналогами из ExtX они обычно занимают больше места и содержат больше необязательных данных; с другой стороны, эти данные повышают эффективность повседневной работы файловой системы.
Библиография
См. раздел «Библиография» главы 16.

 
<< |
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Записи каталогов:

  1. Записи каталогов
  2. Записи каталогов для длинных имен файлов
  3. Запись каталога
  4. Пользование каталогами и картотеками
  5. Типы учетных записей
  6. Программная блокировка записи
  7. Аппаратная блокировка записи
  8. 6.3.4.3. Внесение записей в реестр акционеров
  9. Каталог проблем
  10. Каталог проблем
  11. Каталог проблем