Содержит ли структура данных inode фактический адрес файла на диске?

Содержит ли структура данных inode фактический адрес файла на диске?

В настоящее время я изучаю файловую систему Linux. На данный момент я узнал следующее:

  • Каталог — это просто файл, содержащий следующую информацию: имена файлов и номера их инодов.
  • Существует таблица инодов, которая содержит структуру данных для каждого номера инода. Эта структура данных содержит такую ​​информацию, как идентификатор владельца, идентификатор группы, размер файла и т. д.

Содержит ли структура данных inode также фактический адрес файла на диске или она содержит только адрес какой-то другой структуры данных, которая знает фактический адрес файла на диске?

решение1

Это зависит от типа файловой системы. Однако в большинстве файловых систем inode (или dinode) будет содержать адреса первой пары блоков данных (называемых «прямыми блоками»), а затем, для более крупных файлов, адреса «косвенных блоков», которые сами по себе хранят указатели на дополнительные блоки данных.

ВидетьСтруктура_указателя_инодаБолее подробную информацию можно найти на странице Википедии.

Для обучения я бы рекомендовал рассмотреть файловую систему UFS, которая имеет относительно простую структуру. СмотретьUFS диодная структура, в частности di_db, di_ibдля указателей на прямые и косвенные блоки.

Связанный контент