В большинстве публикаций, посвященных операционным системам, рассмотрение управления памятью включает в себя раздел, озаглавленный "Стратегия замещения", в котором говорится о выборе страниц в основной памяти для замещения их загружаемымииз вторичной памяти страницами. Эта тема достаточно сложна методологически, поскольку включает ряд взаимосвязанных вопросов.
· Какое количество кадров должно быть выделено каждому активному процессу.
· Должно ли множество страниц, которые потенциально могут быть замещены загружаемыми страницами, ограничиваться одним процессом или в качестве кандидатов на замещение могут рассматриватьсявсе кадры страниц основной памяти.
· Какие именно страницыиз рассматриваемого множества следует выбрать для замещения.
Первые два вопроса — из области управления резидентным множеством, о чем мы поговорим в следующем подразделе; термин же "стратегиязамещения" мы будем использовать для обозначения третьего вопроса.
Вопросы стратегии замещения представляют собой, пожалуй, наиболее полно изученный за последние 20 лет аспект управления памятью- Когда все кадры основной памяти заняты и нам требуется разместить новую страницу в процессе обработки прерывания из-за отсутствия страницы, стратегия замещения определяет, какая из находящихся в настоящее время в основной памяти страниц должна быть выгружена, чтобы освободить кадр для загружаемой страницы. Все стратегии направлены на то, чтобы выгрузить страницу, обращений к которой в ближайшем будущем не последует. В соответствии с принципом локализации часто наблюдается сильная корреляция между множеством страниц, к которым в последнее время были обращения, и множеством страниц, к которым будут обращения в ближайшее время. Таким образом, большинство стратегий пытаются определить будущее поведение программы на основеее прошлого поведения. При рассмотрении разных стратегий следует учитывать, что чем, более совершенный и интеллектуальный алгоритм использует стратегия, тем выше будут накладные расходы при его реализации.