
В настоящее время я изучаю файловую систему Linux. На данный момент я узнал следующее:
- Каталог — это просто файл, содержащий следующую информацию: имена файлов и номера их инодов.
- Существует таблица инодов, которая содержит структуру данных для каждого номера инода. Эта структура данных содержит такую информацию, как идентификатор владельца, идентификатор группы, размер файла и т. д.
Содержит ли структура данных inode также фактический адрес файла на диске или она содержит только адрес какой-то другой структуры данных, которая знает фактический адрес файла на диске?
решение1
Это зависит от типа файловой системы. Однако в большинстве файловых систем inode (или dinode) будет содержать адреса первой пары блоков данных (называемых «прямыми блоками»), а затем, для более крупных файлов, адреса «косвенных блоков», которые сами по себе хранят указатели на дополнительные блоки данных.
ВидетьСтруктура_указателя_инодаБолее подробную информацию можно найти на странице Википедии.
Для обучения я бы рекомендовал рассмотреть файловую систему UFS, которая имеет относительно простую структуру. СмотретьUFS диодная структура, в частности di_db
, di_ib
для указателей на прямые и косвенные блоки.