Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ НА ГОСы (все ответы).doc
Скачиваний:
20
Добавлен:
14.08.2019
Размер:
1.93 Mб
Скачать

2. Стратегии управления памятью: стратегии вталкивания, стратегии размещения, стратегии выталкивания. (спо)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выталкивание случайной страницы

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

Выталкивание первой пришедшей страницы (FIFO) First-in-first-out

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

Выталкивание дольше всего не использовавшейся страницы (LRU) Least-recently-used

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

Выталкивание реже всего используемой страницы (LFU) Least-frequently-used

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

Выталкивание не использовавшейся в последнее время страницы (NUR) Not-used-recentlyЭтот алгоритм близок к стратегии LRU. Он строится на предположении, что к страницам, которые в последнее время не использовались, вряд ли будут обращения в ближайшем будущем, так что их можно заменять вновь поступающими страницами.Следует отметить, что из рассмотренных выше стратегий NUR является и не слишком дорогой и достаточно эффективной.

Стратегии вталкивания

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

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

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