logo
Лекции по операционным системам

1. Стратегии выталкивания страниц

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

Принцип оптимальности говорит о том, что для достижения оптимальных скоростных характеристик и эффективного использования ресурсов следует заменять ту страницу, к которой в дальнейшем не будет новых обращений в течение наиболее длительного времени. Очевидно, что реализация такой стратегии возможна только в том случае, когда повторяется выполнение ранее решавшейся задачи с той же последовательностью выполняемых команд; однако подобная ситуация на практике может иметь место в относительно редком числе случаев, например, в некоторых системах реального времени. Поэтому из остальных стратегий выталкивания страниц следует выбрать такие стратегии, которые по даваемым ими результатам наиболее близко приближаются к принципу оптимальности. Эта задача не имеет решения в общем случае, так как условия функционирования различных задач и даже одной задачи на различных участках ее выполнения могут существенно отличаться друг от друга. Одной из наиболее эффективных стратегий выталкивания страниц может в ряде случаев, в частности, в системах реального времени, оказаться стратегия, основанная на использовании рабочих множеств. Под рабочим множеством в этом случае понимают подмножество страниц, к которым процесс наиболее часто обращается. Исследования различных авторов показали, что в большинстве случаев объем рабочего множества не превосходит 10% от объема всей памяти, использовавшейся для процесса; поэтому в ОП в первую очередь должно содержаться рабочее множество процесса, а остальные блоки затребованной памяти должны загружаться в ОП при возникновении соответствующего запроса со стороны выполняемого процесса.