Как устроен механизм виртуальной памяти в Linux и чем Major Page Fault отличается от Minor Page Fault?

Виртуальная память отображает адресное пространство процесса на физические страницы и другие backing-объекты. Minor fault обрабатывается без загрузки страницы с диска, major fault требует соответствующего I/O.

Короткий ответ

Что ответить на собеседовании

Виртуальная память отображает адресное пространство процесса на физические страницы и другие backing-объекты. Minor fault обрабатывается без загрузки страницы с диска, major fault требует соответствующего I/O.

Подробный разбор

Ответ с пояснениями

Виртуальная память отображает адресное пространство процесса на физические страницы и другие backing-объекты. Minor fault обрабатывается без загрузки страницы с диска, major fault требует соответствующего I/O.

Страницы могут предоставляться по требованию, разделяться между процессами или копироваться при записи. Minor fault встречается, например, при создании zero-filled страницы или установке отображения уже доступной страницы; major — при подгрузке файла или страницы из swap. Page fault не обязательно ошибка программы: это штатный механизм. Нарушение доступа к недопустимому адресу — другой случай. Для диагностики смотрите частоту faults, RSS, swap и I/O вместе: один высокий счётчик без контекста не доказывает дефицит RAM.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее