Базовый адрес таблицы страниц
Рис.1. Преобразование адресов страниц прямым отображением.
2.2. Преобразование адресов ассоциативным отображением.
В случае преобразования адресов ассоциативным отображением полная таблица страниц размещается в высокоскоростной ассоциативнойпамяти. Работающая программа обращается по виртуальному адресу v=(p,d),
Рис.2.Преобразование адресов ассоциативным отображением.
2.3. Преобразование адресов страниц ассоциативно-прямым отображением.
При комбинированном отображении самые последние по времени обращения страницы содержатся в ассоциативной памяти, а полные таблицы прямого отображения используются, если поиск по ассоциативной памяти дает отрицательный результат.
Смещение
Виртуальный адрес
V-(p,d)
-
P
D
-
P’
D
Рис. 3. Преобразование адресов страниц ассоциативно-прямым отображением
Стратегии откачки страниц
Принцип оптимальности
Принцип оптимальности говорит о том, что для обеспечения оптимальных скоростных характеристик и эффективного использования ресурсов следует заменять ту страницу, к которой в дальнейшем не будет новых обращений в течение наиболее длительного времени. Эту стратегию невозможно реализовать, т.к. нельзя предсказать будущее. Однако для обеспечения оптимальных скоростных характеристик и эффективного использования ресурсов следует комбинируя различные стратегии, максимально приближаться к оптимальному.
Выталкивание случайной страницы
Если нужно иметь стратегию выталкивания страниц, которая характеризовалась бы малыми издержками и не являлась бы дискриминационной по отношению к каким-либо конкретным пользователям, то можно пойти по очень простому пути, т.е. выбирать случайную страницу. В этом случае все страницы, находящиеся в основной памяти, могут быть выбраны для выталкивания с равной вероятностью, в том числе даже следующая страница, к которой будет производится обращение (и которую, естественно, удалять из памяти наиболее нецелесообразно). Поскольку такая стратегия по сути рассчитана на "слепое" везение, то в реальных системах она применяется редко.
Выталкивание первой пришедшей страницы (FIFO)
При выталкивании страниц по принципу FIFO (First In First Out, т.е. "первый пришел - первый ушел") присваивается каждой странице в момент поступления в основную память временную метку. Когда надо удалить из памяти какую-нибудь страницу, то выбирать надо ту, которая находится в памяти дольше других. К сожалению, стратегия FIFO с достаточно большой вероятностью будет приводить к замещению активно используемых страниц, поскольку тот факт, что страница находится в основной памяти в течение длительного времени, вполне может означать, что она постоянно в работе.
Выталкивание дольше всего не использовавшейся страницы (LRU)
Эта стратегия предусматривает, что для выталкивания следует выбирать ту страницу, которая не использовалась дольше других. Стратегия LRU (Least Recently Used) требует, чтобы при каждом обращении к странице ее временная метка обновлялась. Однако эта стратегия сопряжена с существенными издержками, поэтому чаще применяются близкие к LRU стратегии с меньшими издержками.
Для примера взята именно эта стратегия, т.к. она использовалась в системах фирмы Intel.
Выталкивание реже всего используемой страницы (LFU)
Стратегия LFU (Least Frequently Used) является одной из близких к LRU стратегией, согласно которой выталкивается наименее часто (наименее интенсивно) использовавшаяся страница. Здесь контролируется интенсивность использования каждой страницы.
Выталкивание не использовавшейся в последнее время страницы (NUR)
NUR (Not Used Recently) - один из алгоритмов, близких к стратегии LRU и характеризующийся малыми издержками, выталкивания страницы, не использовавшейся в последнее время, т.е. к страницам, которые в последнее время не использовались, вряд ли будут обращения и в ближайшем будущем.