Буферизация страниц
Хотя алгоритмы дольше всех неиспользовавшегося и часовой и превосходят алгоритм "первым вошел — первым вышел", они оба сложны и имеют высокие накладные расходы по сравнению с последним. Кроме того, следует учитывать, что стоимость замещения модифицированной страницы выше стоимости замещения немодифицированной, которую не надо записывать во вторичную память.
Есть еще одна интересная стратегия, которая может повысить производительность страничной организации при использовании простейшего алгоритма замещения. Это — буферизация страниц, использованная в VAX VMS. В качестве алгоритма замещения страниц используется простейший алгоритм "первым вошел — первым вышел". Для повышения его производительности замещаемая страница не теряется, а вносится в один из двух списков; в список свободных страниц, если страница не модифицировалась, или в список модифицированных страниц. Заметим, что физически страница не перемещается — вместо этогоеезапись удаляется из таблицы страниц и переносится в список свободных или модифицированных страниц,
Список свободных страниц представляет собой список кадров страниц, доступных для чтения. VMS пытается постоянно поддерживать некоторое небольшое количество свободных кадров. Когда страница считывается в кадр, используется кадр, расположенный в начале списка; при этом страница, находившаяся в нем ранее, уничтожается. При замещении немодифицированной страницы она остается в памяти, а ее кадр добавляется к концу списка свободных страниц; аналогично, модифицированная страница добавляется к списку модифицированных страниц.
Важным аспектом этих перемещений является то, что замещаемые страницы остаются в памяти. Следовательно, если процесс обращается к такой странице, она возвращается в резидентное множество процесса без значительных затрат. В действительности, списки свободных и модифицированных страниц работают в качестве кэша страниц. Список модифицированных страниц позволяет записывать их не по одной, а кластерами, что существенно снижает количество операций ввода-вывода, а следовательно, и время обращения к диску.
Простейшая версия буферизации страниц реализована в операционной системе Mach [RASH88]. В этой операционной системе не делается различий между модифицированными и немодифицированными страницами.
Дата добавления: 2016-06-05; просмотров: 1564;