Возникает ли сбой страницы, когда операционная система впервые читает файл? - PullRequest
1 голос
/ 07 марта 2019

Привет эксперты ОС из Stackoverflow.

Я пытался выяснить, происходит ли сбой страницы, когда ОС впервые читает файл в архитектуре Intel x86.

Мне любопытно, как Операционная система будет обрабатывать после того, как приложение пользователя вызывает системный вызов read после открытого syscall.

Насколько я понимаю ...

  1. После системного вызова read ядро ​​получает доступ к неверной странице таблицы страниц, которая в данный момент не отображена блоком управления памятью, и выдает ошибку страницы.

  2. Ошибка страницы вызовет пейджинг по требованию. Ядро ищет адрес диска на нужной странице и планирует работу диска (планирование ввода / вывода).

Однако я получил совет от моего советника о том, что ошибка страницы не возникает при первом открытии и чтении файла.

Это правда? Я искал повсюду, чтобы найти четкий ответ на этот вопрос без какого-либо успеха. Можно ли объяснить, происходит ли сбой страницы или нет при первом чтении файла?

1 Ответ

0 голосов
/ 07 марта 2019

Это зависит от того, как файл читается.Если файл читается как файл с отображением в памяти, то почти наверняка произойдет сбой страницы.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...