2

Как мы знаем, Linux реализует кеш страниц для хранения кода или данных из фрагментов файла, которые потенциально могут быть использованы. Один из моих вопросов: когда программа, например, vim, будет запущена, ее данные и код будут сначала загружены в кеш страниц, верно?

И я не уверен в своем другом понимании. Загружает ли ОС только некоторые фрагменты кода, которые будут использоваться сразу после запуска программы? Или ОС загружает их всех сразу? ОС использует кеш файлов для хранения загруженных кодов и данных, верно? Какую функцию модуля использует ОС для загрузки кода?

1 ответ1

0

его данные и код будут сначала загружены в кеш страниц, верно?

Да.

Загружает ли ОС только некоторые фрагменты кода, которые будут использоваться сразу после запуска программы? Или ОС загружает их всех сразу?

Несколько штук На самом деле, когда код будет фактически выполнен - произойдет ошибка_страницы, и страница будет перемещена в память (page_cache) из связанного файла.

Какую функцию модуля использует ОС для загрузки кода?

load_elf_binary http://lxr.free-electrons.com/source/fs/binfmt_elf.c#L663

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .