Где хранятся таблицы i-node?

Я действительно не понимаю, где находятся таблицы, содержащие i-узлы. Мой учитель сказал, что на каждом физическом диске есть таблица i-узлов, после которой есть данные файлов. Но в Интернете я обнаружил, что каждый каталог имеет свою собственную таблицу индексов и имена, связанные с файлами внутри него.

Являются ли эти две разные таблицы (концепции) или являются одними из них неправильными?

Спасибо.

2 Solutions collect form web for “Где хранятся таблицы i-node?”

Мой учитель сказал, что на каждом физическом диске есть таблица i-узлов, после которой есть данные файлов.

Это в целом правильно. Точнее, на каждой файловой системе есть таблица индексов, и на каждом разделе есть отдельная файловая система. (Все может усложниться, но нам не нужно вдаваться в эти осложнения здесь.)

Таблица inode файловой системы отображает номера inode для метаданных файлов . Обычно это большой массив структур фиксированного размера. Например, номер элемента 1234 этого массива является номером inode 1234. Индекс содержит информацию, такую ​​как разрешения файла, время его модификации, тип файла и т. Д., А также указание того, где находится содержимое файла.

Но в Интернете я обнаружил, что каждый каталог имеет свою собственную таблицу индексов и имена, связанные с файлами внутри него.

Это таблица, которая сопоставляет имена файлов с номерами inode . То есть, каталог представляет собой список записей (или некоторую более сложную структуру данных), и каждый элемент списка содержит имя файла и номер inode. Чтобы найти метаданные и содержимое файла, система считывает номер inode из каталога, затем читает назначенную запись в таблице inode. Чтобы найти файл с указанием его пути, система начинается с корневого inode, находит, что это каталог, находит запись в каталоге для первого элемента, читает его inode и т. Д.

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

Одно неправильное представление заключается в том, что inodes не являются атрибутом физических дисков, а скорее определенными файловыми системами . Например, FAT32 не имеет индексных дескрипторов. Простое резюме иерархии может быть следующим:

Физические диски содержат несколько секторов . Это физические местоположения на диске, на котором хранятся данные.

Физический диск обычно разделяется на разделы . Это логическое разделение (логически) смежных областей хранения физических данных на диске.

Эти разделы можно разделить на логические тома (как и на LVM), но это необязательно. Если они реализованы, эти логические тома в основном работают как разделы, но позволяют упростить реализацию таких операций, как (например), добавив больше емкости.

Разделы (или логические тома) могут содержать файловые системы (например, ext3fs, VFAT, hpfs). Каждая файловая система организует себя по-своему, чтобы отслеживать ее организационную структуру и многое другое. Многие файловые системы, обычно развернутые на узлах Linux (например, ext? Fs), используют inodes для этой цели или используют эквивалентный механизм (например, reiserfs).

  • Почему debugfs не показывает crtime в наносекундах?
  • Как linux сохраняет папку сопоставления -> имя_файла -> inode?
  • Как установить Linode с определенным количеством inodes?
  • Ограничить кеш-память, используемую командой
  • Файловая система: как найти блок файла, представленный inode?
  • Файлы без атрибутов, владельца, группы и инодов
  • Почему файлы иногда меняются, но не являются inode или наоборот?
  • bad inodes появляются после fsck () для гостей vps
  • Для чего полезны иноды?
  • Что такое осиротевший инод?
  • Ошибки раздела и повторы только для чтения при доступе к определенному файлу
  • Linux и Unix - лучшая ОС в мире.