Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
15_Виртуальная_память[1].doc
Скачиваний:
22
Добавлен:
21.09.2019
Размер:
165.38 Кб
Скачать

Страничные кадры

Виртуальный адрес в страничной системе – это упорядоченная пара (p, d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы p, где размещается адресуемый элемент.

Номер страницы p

Смещение d

Виртуальный адрес = (b, d)

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

Разделение реальной памяти на страничные кадры

Динамическое преобразование адресов в системе со страничной организацией осуществляется следующим образом. Выполняющийся процесс обращается по виртуальному адресу = (p, d). Механизм отображения адресов ищет номер страницы p в таблице отображения страниц и определяет , что эта страница находится в страничном кадре c порядковым номером p. Адрес первичной памяти a, с которого начинается страничный кадр p (если размер страницы равняется p) определяется произведением = (p)(p’). Адрес реальной памяти r формируется затем путем конкатенации a и d.

Обычно системы виртуальной памяти определяют три типа стратегий.

Стратегии вталкивания (подкачки) страниц

Их цель – определить, в какой момент следует переписать страницу или сегмент из вторичной памяти в первичную.

Размещение страниц по запросу

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

В пользу этой стратегии можно привести такие аргументы:

  • гарантируется, что в память будут переписаны только те страницы, которые фактически необходимы для работы процесса;

  • минимальны накладные расходы на то, чтобы определить, какие страницы следует разместить в памяти.

К существенным недостаткам можно отнести лишь неэффективное использование первичной памяти. Т.к. процесс должен накапливать в памяти требуемые страницы по одной, то при появлении ссылки на каждую новую страницу процессу приходится ждать, пока эта страница будет передана в основную память. При подкачке страниц принято оценивать величину “пространство-время”, которая применяется для оценки использования памяти процессом. Эта величина соответствует заштрихованной площади на рисунке, приведенном ниже.

Уменьшение произведения “пространство-время” за счет уменьшения периодов ожидания процессом нужных ему страниц является важнейшей целью всех стратегий управления памятью.

1.1.1. Подкачка страниц с упреждением

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