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

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

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

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

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

0