<<
>>

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

Последний метод соотнесения блоков диска файлам заключается в связывании с каждым файлом структуры данных, называемой индексным узлом (index node), или i-узлом (i-node), содержащей атрибуты файла и адреса блоков файла.
Простой пример индексного узла показан на рис. 5.9. При наличии индексного узла можно найти все блоки файла. Большое преимущество такой схемы перед хранящейся в памяти таблицей из списков состоит в том, что индексный узел оказывается в памяти только тогда, когда открыт соответствующий ему файл. Если каждый индексный узел занимает п байт, а одновременно открыть можно k файлов, для массива индексных узлов в памяти потребуется всего kn байт.

Обычно эта величина значительно меньше, чем размер таблицы FAT. Это легко объясняется. Размер таблицы, хранящей список всех блоков диска, пропорционален емкости самого диска. Для диска из п блоков потребуется п записей в таблице. Таким образом, размер таблицы линейно растет с ростом размера диска. Для схемы индексных узлов, напротив, требуется массив в памяти с размером, пропорциональным максимальному количеству файлов, которые можно открыть одновременно. При этом не важно, какой именно размер диска, 1, 10 или 100 Гбайт.

С такой схемой связана проблема, суть которой в том, что при выделении каждому файлу фиксированного количества дисковых адресов этого количества может не хватить. Одно из решений заключается в резервировании последнего дискового адреса не для блока данных, а для адреса косвенного блока, содержащего адреса блоков диска. Этот принцип можно расширить и ввести блоки с двойным и тройным уровнем косвенности, как показано на рис. 5.9.

Рис. 5.9. Индексный узел с тремя уровнями косвенных блоков

5.3.3.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Индексные узлы:

  1. Дуальные пары и двойные узлы
  2. Дуальные пары и двойные узлы
  3. Двойные узлы.
  4. ЛИМФАТИЧЕСКИЕ УЗЛЫ (ОПУХАНИЕ)
  5. Двойные узлы
  6. Двойные узлы
  7. Лунные узлы, или путеводитель по жизни
  8. Лунные узлы и Арабские части (точки)
  9. Глава 4 ЛУННЫЕ УЗЛЫ
  10. Солнце и Лунные узлы.
  11. Меркурий и Лунные узлы.
  12. Венера и Лунные узлы.
  13. Марс и Лунные узлы.
  14. Юпитер и Лунные узлы.
  15. Юпитер и Лунные узлы.
  16. Сатурн и Лунные узлы.
  17. Уран и Лунные узлы.
  18. Нептун и Лунные узлы.
  19. Лунные узлы в знаках Зодиака
  20. Лунные узлы в домах гороскопа