Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
04-11-12 Управление памятью.DOC
Скачиваний:
12
Добавлен:
23.08.2019
Размер:
2.22 Mб
Скачать
      1. Буферизация страниц

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

Есть еще одна интересная стратегия, которая может повысить производи­тельность страничной организации при использовании простейшего алгоритма замещения. Это — буферизация страниц, использованная в VAX VMS. В качест­ве алгоритма замещения страниц используется простейший алгоритм "первым вошел — первым вышел". Для повышения его производительности замещаемая страница не теряется, а вносится в один из двух списков: в список свободных страниц, если страница не модифицировалась, или в список модифицированных страниц. Заметим, что физически страница не перемещается — вместо этого ее запись удаляется из таблицы страниц и переносится в список свободных или мо­дифицированных страниц.

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

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

      1. Стратегия замещения и размер кэша

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

В системах с использованием буферизации того или иного вида производи­тельность кэша можно увеличить путем добавления к стратегии замещения стратегию размещения страниц в буфере. Большинство операционных систем размещают страницы в буфере в произвольных кадрах, как правило, с использо­ванием алгоритма "первым вошел — первым вышел". Исследования показали, что правильный выбор стратегии размещения может привести к уменьшению неуспешных поисков в кэше на 10-20%.

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

43