структура указателя индексного дескриптора
![]() | Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( февраль 2012 г. ) |

— Структура указателя индексного дескриптора это структура, принятая индексным дескриптором файла в файловой системе Unix файла (UFS) для перечисления адресов блоков данных . Он также используется во многих связанных файловых системах, включая файловую систему ext3 , популярную среди пользователей Linux.
Структура
[ редактировать ]Раньше структура могла состоять примерно из двенадцати указателей, но большинство современных файловых систем используют пятнадцать указателей. Эти указатели состоят из (при условии, что в индексном дескрипторе 15 указателей): [1]
- 12 прямых указателей , которые непосредственно указывают на блоки данных файла.
- 1 одиночный косвенный указатель (указывающий на блок прямых указателей)
- 1 двойной косвенный указатель (указывающий на блок одиночных косвенных указателей)
- 1 тройной косвенный указатель (указывающий на блок двойных косвенных указателей)
Уровни косвенности указывают количество указателей, которым необходимо следовать, прежде чем достичь фактических данных файла.
Ключевые особенности
[ редактировать ]Фиксированный размер логического блока
[ редактировать ]Структура частично проиллюстрирована на диаграмме, прилагаемой к этой статье. Структура позволяет индексным дескрипторам описывать очень большие файлы в файловых системах с фиксированным размером логического блока. Центральным моментом механизма является то, что блоки адресов (также называемые косвенными блоками ) выделяются только по мере необходимости. Например, файл из 12 блоков будет описан только с использованием индексного дескриптора, поскольку его блоки соответствуют количеству доступных прямых указателей. Однако файлу из 13 блоков необходим косвенный блок, содержащий тринадцатый адрес.
Простота размещения данных
[ редактировать ]Структура указателя inode не только позволяет легко распределять файлы по несмежным блокам, но также позволяет легко находить данные в определенном месте внутри файла. Это возможно, поскольку размер логического блока фиксирован. Например, если размер каждого блока составляет 8 КБ, на данные файла размером от 112 КБ до 120 КБ будет указывать третий указатель первого косвенного блока (при условии, что в структуре указателя индексного дескриптора имеется двенадцать прямых указателей).
Косвенные блоки
[ редактировать ]В отличие от индексных дескрипторов, число которых фиксировано и выделено в специальной части файловой системы, косвенные блоки могут иметь любое количество и размещаются в той же части файловой системы, что и блоки данных. Количество указателей в косвенных блоках зависит от размера блока и размера указателей блока. Пример: при размере блока 512 байт и указателях блоков по 4 байта каждый косвенный блок может состоять из 128 (512/4) указателей.
Ссылки
[ редактировать ]- Ext3 для больших файловых систем , LWN.net, 12 июня 2006 г.
- Маршалл Кирк МакКьюсик ; Уильям Н. Джой ; Сэмюэл Дж. Леффлер ; Роберт С. Фабри (18 февраля 1984 г.). «Быстрая файловая система для UNIX» (PDF) . Группа исследования компьютерных систем .