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

363
Angus

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

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

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

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

  • Как он ищет оставшийся непрерывный блок?
  • Как он определяет, какую файловую систему нужно искать, чтобы получить правильный файл?
  • Как файловая структура поддерживается несколькими процессами, обращающимися к одному и тому же файлу?
0
Это очень много вопросов. Как насчет того, чтобы подумать о каждом из них отдельно и спросить их отдельно? Rory Alsop 10 лет назад 1
Я сократил вопрос Angus 10 лет назад 0

0 ответов на вопрос

Похожие вопросы