Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы ОТВЕТЫ.doc
Скачиваний:
215
Добавлен:
02.04.2015
Размер:
965.63 Кб
Скачать
  1. Свопинг. Его стратегии.

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

Стратегии подкачки.Принципиально могут рассматриваться только два метода подкачки необходимых страниц (сегментов) – этоопережающая подкачкаиподкачка по требованию.

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

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

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

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

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

LRU(leastrecentlyused) – определяет факт давности использования страниц, т. е. прежде всего, откачивается та страница, к которой не было обращений в течение некоторого интервала времени. Данная стратегия даёт хорошие результаты, но сложна в реализации. Сложность реализации объясняется тем, что ОС, совместно с аппаратурой, должна создавать и оперативно изменять список страниц, которым не было обращений в течение некоторого заданного интервала времени.

LFU(leastfrequentlyused) – определяет факт частоты использования страниц, т. е. прежде всего, откачивается та страница, к которой было меньше всего обращений за заданный интервал времени. Планировщик, однако, не должен учитывать страницы, которые были подкачаны в память только что. Иначе такие страницы станут первыми кандидатами на откачку. Данная стратегия также достаточно сложна в реализации, но даёт хорошее качество.

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