Какой из этих ответов лучше всего описывает ошибку страницы?

Так что это не вопрос домашнего задания. Это вопрос из предыдущего экзамена, который мой профессор опубликовал в качестве ресурса, чтобы помочь нам в учебе в середине семестра. Однако есть два ответа, которые (мне) кажутся правильными.

A.) Ошибка страницы означает, что заменяемая физическая страница должна быть сохранена на жестком диске. Б.) Запрошенная виртуальная машина отсутствует в физической памяти.

Теперь я понимаю, что ошибка страницы возникает, когда данные, хранящиеся на странице физической памяти, не являются данными, которые вам нужны, поэтому вам необходимо получить доступ к жесткому диску и загрузить правильные данные. Кроме того, если флаг грязи равен 1, это означает, что предыдущие данные в физической памяти были изменены, поэтому вам необходимо повторно сохранить их на диск.

Поэтому мне кажется, что и A, и B правы, но мне было интересно, может ли кто-нибудь сказать мне, что, по их мнению, лучший вариант.

Если бы меня заставили выбирать, я бы сказал А.

ПОБОЧНОЕ ПРИМЕЧАНИЕ Я отправил профессору письмо по электронной почте с ответом, но он действительно плохо отвечает и еще не отправил мне ответ.


person Drew    schedule 09.11.2012    source источник
comment
en.wikipedia.org/wiki/Page_fault - все, что вам нужно, это первое предложение. Не путайте очень конкретное аппаратное событие, связанное с отказом страницы, с более общим алгоритмом подкачки.   -  person Matt    schedule 09.11.2012
comment
Хорошо, спасибо за помощь. Думаю, тогда я был бы неправ!   -  person Drew    schedule 09.11.2012


Ответы (1)


Ни то, ни другое неверно.

A.) Ошибка страницы означает, что заменяемая физическая страница должна быть сохранена на жестком диске.

Это неверно, потому что это также может означать, что страницу необходимо прочитать с жесткого диска.

Б.) Запрошенная виртуальная машина отсутствует в физической памяти.

Это неверно, потому что при программной ошибке страницы страница постоянно находится в физической памяти. Например, операция может быть просто первой записью на резидентную страницу без общего доступа, поэтому страницу необходимо пометить как грязную. Или страница может быть предоставлена ​​для совместного использования и ее нужно закрыть. В этих случаях запрошенная виртуальная страница постоянно находится в физической памяти, ей просто нужно обработать ее со стороны системы управления памятью.

Ошибка страницы означает, что требуется некоторая помощь со стороны ядра, чтобы разрешить доступ к этой странице виртуальной памяти. Необходимая помощь может варьироваться от чтения страницы на диск до простой отметки страницы, к которой был осуществлен доступ, чтобы ядро ​​знало, что ее не следует удалять.

Из этих двух B, вероятно, ближе к правильному, потому что A почти никогда не бывает прав. "Классическая" ошибка страницы была бы, если бы страницу нужно было прочитать с жесткого диска, что применимо к B, но не к A.

Теперь я понимаю, что ошибка страницы возникает, когда данные, хранящиеся на странице физической памяти, не являются данными, которые вам нужны, поэтому вам необходимо получить доступ к жесткому диску и загрузить правильные данные. Кроме того, если флаг грязи равен 1, это означает, что предыдущие данные в физической памяти были изменены, поэтому вам необходимо повторно сохранить их на диск.

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

person David Schwartz    schedule 09.11.2012
comment
Полагаю, Б. был бы правильным ответом. В нашей книге сбой страницы определяется как событие, которое происходит, когда доступная страница отсутствует в основной памяти. - person Drew; 10.11.2012
comment
@Drew Хотя это утверждение верно, это неправильное определение ошибки страницы, поскольку ошибки страницы могут возникать по другим причинам. Это терпимое, но не лучшее определение аппаратной ошибки страницы. - person David Schwartz; 05.03.2017