Что именно является индексом в отношении файловых систем?

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

-> редактировать: мне также было интересно, откуда на изображении появились "заголовки файлов" и "растровые изображения"

Спасибо:)

2 ответа

Решение

inode структура данных, которая содержит информацию о файле. Вы можете думать о номерах инодов, которые являются индексами в списке инодов.

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

Другие вопросы по тегам