Стратегии управления памятью

Литература

Стратегии управления памятью

Лекция 10

 

1. Стратегии управления памятью. Стратегии выталкивания страниц: выталкивание случайной страницы; выталкивание по принципам: FIFO, LRU, LFU, NUR; рабочие множества). Стратегии вталкивания (подкачка страниц по запросу; подкачка страниц с упреждением).

 

2. Реализация управления памятью в различных ОС (самостоятельно см. дополнительные темы докладов).

 

 

· [Дейтел 87] Дейтел Г., Введение в операционные системы. М."Мир",1987.

· [Кейлингерт 85] Кейлингерт П., Элементы операционных систем, М."Мир", 1985.

· [Кейслер 86] Кейслер С., Проектирование операционных систем для малых ЭВМ, М."Мир", 1986.

· [Колин 75] Колин А., Введение в операционные системы, М."Мир", 1975.

· [Цикритзис 77] Цикритзис Д., Бернстайн Ф., Операционные системы, М."Мир", 1977.

 

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

- когда осуществляется выборка новой программы в памяти: по запросам системы или с предупреждением их; (1)

- в какое место оперативной памяти будет помещаться программа: как можно более плотно с занятием свободных “дыр”, чтобы свести к минимуму потери памяти; или необходимо стремиться к возможно более быстрому размещению программы, чтобы свести к минимуму потери машинного времени; (2)

- если при размещении новой программы, оперативная память уже заполнена, то по какому критерию выводить из памяти находящиеся в ней программы: замещать в памяти программы, которые находились в ней дольше других или те, которые использовались наименее часто. (3)

В зависимости от того, как решаются эти вопросы, стратегии управления памятью делятся на следующие категории.

(1) Стратегии выборки(вталкивания):

· стратегии выборки по запросу;

· стратегии упреждающей выборки.

(2) Стратегии размещения.

(3) Стратегии замещения(выталкивания).

Применительно к системам виртуальной памяти стратегии можно подразделить следующим образом.

 

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

 

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

При размещении новых программ, поступающих в ОП реализуют, как правило одну из трех стратегий:

· стратегия наиболее подходящего, когда задание помещеют в наиболее подходящий по размеру учесток, где остается меньше свободной памяти;

· стратегия первого подходящего, когда задание размещается в первом подходящем по размеру участке;

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

 

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