Смекни!
smekni.com

Архитектура фон Неймана (стр. 4 из 4)

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

В Windows NT реализована сегментно-страничная модель распределения памяти. Для хранения информации о состоянии виртуальных сегментов используется набор структур, называемых дескрипторами виртуальных адресов. Когда процессу назначается новая область памяти, менеджер виртуальной памяти создает дескриптор, в котором хранится вся информация, связанная с этой областью, такая как диапазон адресов, признаки того, является ли память разделяемой или частной, будет ли процесс-потомок наследовать содержимое этой области, признаки защиты. Затем дескриптор встраивается в двоичное дерево дескрипторов данного процесса, используемое для ускорения поиска.

Для снижения объема вычислений, затрачиваемых на работу менеджера виртуальной памяти, в Windows NT минимизируется количество страничных прерываний. Для этого предпринимаются следующие меры:

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

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