Обход индекса, чтобы найти содержимое файла, хранящегося в разных блоках данных

Я читаю о файловой системе EXT2, и я получил представление об этом. Каждая файловая система состоит из данных и метаданных (inode). Файловая система разделена на несколько блоков с 4 основными блоками, содержащими информацию о других блоках.

Как происходит взаимодействие, если мы пытаемся открыть файл из пространства пользователя?

Когда пользователь вызывает open() syscall, как файл находится через номер инода и как идентифицируется содержимое, сохраненное в следующем блоке?

open() звонки sys_open() который в свою очередь называет do_path_search() Функция поиска номера индекса с именем файла. Он получает номер индекса, который содержит адрес блоков данных, просматривая таблицу номеров индексов.

  • Как он ищет оставшийся непрерывный блок?
  • Как он определяет, какую файловую систему нужно искать, чтобы получить правильный файл?
  • Как файловая структура поддерживается несколькими процессами, обращающимися к одному и тому же файлу?

0 ответов

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