Составители:
24
используемых записей в быстродействующих запоминающих устройствах, в
частности в регистрах процессора.
Другим важным фактором, влияющим на производительность системы,
является частота страничных прерываний, на которую, в свою очередь, влияют
размер страницы и принятые в данной системе правила выбора страниц для
выгрузки и загрузки. При неправильно выбранной стратегии замещения страниц
могут возникать ситуации, когда система тратит большую часть времени впустую,
на подкачку страниц из оперативной памяти на диск и обратно.
При выборе страницы на выгрузку могут быть использованы различные
критерии, смысл которых сводится к одному: на диск выталкивается страница, к
которой в будущем начиная с данного момента дольше всего не будет обращений.
Поскольку точно предсказать ход вычислительного процесса невозможно, то
невозможно точно определить страницу, подлежащую выгрузке. В таких условиях
решение принимается на основе неких эмпирических критериев, часто
основывающихся на предположении об инерционности вычислительного
процесса. Так, например, из того, что страница не использовалась долгое время,
делается вывод о том, что она, скорее всего, не будет использоваться и в
ближайшее время. Однако привлечение критериев такого рода не исключает
ситуаций, когда сразу после выгрузки страницы к ней происходит обращение и
она снова должна быть загружена в память. Вероятность таких «напрасных»
перемещений настолько велика, что в некоторых реализациях виртуальной памяти
вообще отказываются от количественных критериев и предпочитают случайный
выбор, при котором на диск выгружается первая попавшаяся страница.
Возникающее при этом некоторое увеличение интенсивности страничного обмена
компенсируется снижением вычислительных затрат на поддержание и анализ
критерия выборки страниц на выгрузку.
Наиболее популярным критерием выбора страницы на выгрузку является число
обращений к ней за последний период времени. Вычисление этого критерия
происходит следующим образом. Операционная система ведет для каждой
страницы программный счетчик. Значения счетчиков определяются значениями
признаков доступа. Всякий раз, когда происходит обращение к какой-либо
странице, процессор устанавливает в единицу признак доступа в относящейся к
данной странице записи таблицы страниц. ОС периодически просматривает
признаки доступа всех страниц во всех существующих в данный момент записях
таблицы страниц. Если какой-либо признак оказывается равным 1 (было
обращение), то система сбрасывает его в 0, увеличивая при этом на единицу
значение связанного с этой страницей счетчика обращений. Когда возникает
необходимость удалить какую-либо страницу из памяти, ОС находит страницу,
счетчик обращений которой имеет наименьшее значение. Для того чтобы
критерий учитывал интенсивность обращений за последний период, ОС с
соответствующей периодичностью обнуляет все счетчики.
Интенсивность страничного обмена может быть также снижена в результате
так называемой упреждающей загрузки, в соответствии с которой при
возникновении страничного прерывания в память загружается не одна страница,
содержащая адрес обращения, а сразу несколько прилегающих к ней страниц.
используемых записей в быстродействующих запоминающих устройствах, в частности в регистрах процессора. Другим важным фактором, влияющим на производительность системы, является частота страничных прерываний, на которую, в свою очередь, влияют размер страницы и принятые в данной системе правила выбора страниц для выгрузки и загрузки. При неправильно выбранной стратегии замещения страниц могут возникать ситуации, когда система тратит большую часть времени впустую, на подкачку страниц из оперативной памяти на диск и обратно. При выборе страницы на выгрузку могут быть использованы различные критерии, смысл которых сводится к одному: на диск выталкивается страница, к которой в будущем начиная с данного момента дольше всего не будет обращений. Поскольку точно предсказать ход вычислительного процесса невозможно, то невозможно точно определить страницу, подлежащую выгрузке. В таких условиях решение принимается на основе неких эмпирических критериев, часто основывающихся на предположении об инерционности вычислительного процесса. Так, например, из того, что страница не использовалась долгое время, делается вывод о том, что она, скорее всего, не будет использоваться и в ближайшее время. Однако привлечение критериев такого рода не исключает ситуаций, когда сразу после выгрузки страницы к ней происходит обращение и она снова должна быть загружена в память. Вероятность таких «напрасных» перемещений настолько велика, что в некоторых реализациях виртуальной памяти вообще отказываются от количественных критериев и предпочитают случайный выбор, при котором на диск выгружается первая попавшаяся страница. Возникающее при этом некоторое увеличение интенсивности страничного обмена компенсируется снижением вычислительных затрат на поддержание и анализ критерия выборки страниц на выгрузку. Наиболее популярным критерием выбора страницы на выгрузку является число обращений к ней за последний период времени. Вычисление этого критерия происходит следующим образом. Операционная система ведет для каждой страницы программный счетчик. Значения счетчиков определяются значениями признаков доступа. Всякий раз, когда происходит обращение к какой-либо странице, процессор устанавливает в единицу признак доступа в относящейся к данной странице записи таблицы страниц. ОС периодически просматривает признаки доступа всех страниц во всех существующих в данный момент записях таблицы страниц. Если какой-либо признак оказывается равным 1 (было обращение), то система сбрасывает его в 0, увеличивая при этом на единицу значение связанного с этой страницей счетчика обращений. Когда возникает необходимость удалить какую-либо страницу из памяти, ОС находит страницу, счетчик обращений которой имеет наименьшее значение. Для того чтобы критерий учитывал интенсивность обращений за последний период, ОС с соответствующей периодичностью обнуляет все счетчики. Интенсивность страничного обмена может быть также снижена в результате так называемой упреждающей загрузки, в соответствии с которой при возникновении страничного прерывания в память загружается не одна страница, содержащая адрес обращения, а сразу несколько прилегающих к ней страниц. 24
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »