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

1.1.2. Подкачка по запросу с кластеризацией

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

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

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

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

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

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

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

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

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

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

Принцип оптимальности

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

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

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

Выталкивание первой пришедшей страницы (fifo – First-In-First-Out)

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

К тому же имеет место некоторое явление, называемое аномалией FIFO. Его суть заключается в том, что иногда увеличение количества страничных кадров, выделяемых процессу, приводит к увеличению частоты прерываний по отсутствию нужных страниц для этого процесса. Рассмотрим рисунок: