Управление памятью в Windows NT. Стратегии выборки, размещения и замещения страниц

Windows NT поддерживает сегментно-страничную модель виртуальной памяти(В схемах виртуальной памяти сегмент – это линейная последовательность адресов, начинающаяся с 0. При организации виртуальной памяти размер сегмента может быть велик, например, может превышать размер оперативной памяти. Повторяя все ранее приведенные рассуждения о размещении в памяти больших программ, приходим к разбиению сегментов на страницы и необходимости поддержки своей таблицы страниц для каждого сегмента. На практике, однако, появления в системе большого количества таблиц страниц стараются избежать, организуя неперекрывающиеся сегменты в одном виртуальном пространстве, для описания которого хватает одной таблицы страниц. Таким образом, одна таблица страниц отводится для всего процесса).

Менеджер вирт. памяти обеспечивает для процессов след ф-ции: 1) Управление вирт. адресным пространством процесса; 2) Разделение памяти между процессами; 3) Защита вирт памяти

Средства защиты памяти осущ в 4х формах:

1) Отдельное адресное пространство для каждого процесса;

2) Два режима работы: режим ядра, в кот разрешен доступ к системным данным и пользовательский режим, в кот это запрещено;

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

4) Объектно-ориентированная защита памяти. Каждый раз, когда процесс обращается к памяти, монитор ссылок безоп-ти проверяет, разрешён ли доступ процесса к данному объекту.

Каждый процесс имеет вирт адресное пространство размером 4Gb, из которых 2Gb резервируются для системных нужд.

Стратегии. Процесс принятия решений о замене страниц обычно включают в себя 3 этапа: выборки, размещения и замещения.

1. Этап выборки. Связан с выбором условия, при выполнении кот страницы перемещаются с диска в память. Менеджер вирт. память Windows NT использует стратегию выборки с кластеризацией, т е при возникновении страничного прерывания менеджер вирт памяти загружает в память требуемую страницу, а также небольшое кол-во окруж её страниц. Эта стратегия минимизирует кол-во страничных прерываний.

2. Этап размещения. Включает набор правил, используемых для определения места размещения новых страниц в память. В Windows NT менеджер вирт памяти выбирает 1ю страницу из списка свободных страниц.

3. Этап замещения. Если при загрузке новых страниц в физич памяти нет свободных страниц, то используется стратегия замещения, кот определяет, какую вирт страницу нужно удалить из памяти, чтобы освободить место для вновь поступающей страницы. Менеджер вирт памяти в Windows NT использует локальный алгоритм FIFO. В соответствии с этим алгоритмом из памяти удаляется та страница, кот дольше всего там находятся

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: