Обход через индекс, чтобы найти содержимое файла, хранящегося в разных блоках данных
363
Angus
Я читаю о файловой системе EXT2, и я получил представление об этом. Каждая файловая система состоит из данных и метаданных (inode). Файловая система разделена на несколько блоков с 4 основными блоками, содержащими информацию о других блоках.
Как происходит взаимодействие, если мы пытаемся открыть файл из пространства пользователя?
Когда пользователь вызывает open()
системный вызов, как файл находится через номер инода и как идентифицируется содержимое, сохраненное в следующем блоке?
open()
вызывает, sys_open()
который в свою очередь вызывает do_path_search()
функцию, ища номер инода с именем файла. Он получает номер индекса, который содержит адрес блоков данных, просматривая таблицу номеров индексов.
- Как он ищет оставшийся непрерывный блок?
- Как он определяет, какую файловую систему нужно искать, чтобы получить правильный файл?
- Как файловая структура поддерживается несколькими процессами, обращающимися к одному и тому же файлу?
Это очень много вопросов. Как насчет того, чтобы подумать о каждом из них отдельно и спросить их отдельно?
Rory Alsop 10 лет назад
1
Я сократил вопрос
Angus 10 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
1
Невозможно загрузиться в Ubuntu. Несоответствие на диске, X-сервер не запускается. Незаконные блоки...
-
1
Как я могу определить, сколько Inode использует каталог?
-
2
Можно ли найти все файлы с данным индексом? Эффективно?
-
-
2
Проблема при просмотре суперблока в файловой системе ext3
-
2
Как рассчитать правильное количество размеров inode / block для файловой системы linux
-
5
Удалите файл в Linux, используя номер индекса
-
1
влияние на индекс при изменении размера LV
-
2
отношение Inode-block
-
3
Доступ к файлу по его идентификатору и изменение атрибутов файла
-
3
tail -f не отслеживает изменения файла