Что именно является индексом в отношении файловых систем?
Насколько я понимаю, очевидно, что inode указывает на начало файла, хранящегося на диске. Но также кажется, что каталоги имеют такую же функциональность (то есть, они хранят адреса других файлов). Тогда мне было интересно, почему полезно иметь массив инодов с кучей инодов, которые указывают на файлы, когда каталоги уже делают это?
-> редактировать: мне также было интересно, откуда на изображении появились "заголовки файлов" и "растровые изображения"
Спасибо:)
2 ответа
inode
структура данных, которая содержит информацию о файле. Вы можете думать о номерах инодов, которые являются индексами в списке инодов.
Каталоги не имеют такой же функциональности. Это просто список пар (name, inode). Предположим, что это большой файл, хранящийся в нескольких блоках данных на диске, тогда это структура inode, которая хранит список всех указателей на эти блоки данных. Дентри - это просто крючок, который приводит вас к значительной структуре inode. Существует несколько специфических для inode операций, которые используются для управления содержимым файлов. Предлагаю прочитать struct inode. i_ino - это просто поле в нем.