I-узлы

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

Обычно этот массив значительно меньше того пространства, которое занимает таблица расположения файлов, рассмотренная в предыдущем разделе. Причина проста. Таблица, предназначенная для хранения списка всех дисковых блоков, пропорциональна размеру самого диска. Если диск имеет n блоков, то таблице нужно n записей. Она растет пропорционально росту размера диска. В отличие от этого, для схемы, использующей i-узлы, нужен массив в памяти, чей размер пропорционален максимальному количеству одновременно открытых файлов. При этом неважно, будет ли размер диска 100, 1000 или 10 000 Гбайт.

Рис. 4.10. Пример i-узла


С i-узлами связана одна проблема: если каждый узел имеет пространство для фиксированного количества дисковых адресов, то что произойдет, когда файл перерастет этот лимит? Одно из решений заключается в резервировании последнего дискового адреса не для блока данных, а для блока, содержащего дополнительные адреса блоков (см. рис. 4.10). Более того, можно создавать целые цепочки или даже деревья адресных блоков, поскольку их может понадобиться два или более. Может потребоваться даже дисковый блок, указывающий на другие, полные адресов дисковые блоки. Мы еще вернемся к i-узлам при изучении системы UNIX в главе 10. По аналогии с этим в файловой системе Windows NTFS используется такая же идея, но только с более крупными i-узлами, в которых также могут содержаться небольшие файлы.

4.3.3.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме I-узлы:

  1. Дуальные пары и двойные узлы
  2. Дуальные пары и двойные узлы
  3. Двойные узлы.
  4. ЛИМФАТИЧЕСКИЕ УЗЛЫ (ОПУХАНИЕ)
  5. Двойные узлы
  6. Двойные узлы
  7. Лунные узлы, или путеводитель по жизни
  8. Лунные узлы и Арабские части (точки)
  9. Глава 4 ЛУННЫЕ УЗЛЫ
  10. Солнце и Лунные узлы.