Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
02.05.2014
Размер:
285.18 Кб
Скачать

5.3.4.2. Стратегии решения второй главной задачи

1) Стратегии вталкивания (fetch policy) определяют, в какой момент следует загрузить страницу или сегмент с диска в оперативную память. Два конкурирующих алгоритма вталкивания существуют.

Вталкивание по запросу (когда произошла ошибка доступа к странице)

Достоинство: в памяти находятся только те страницы или сегменты, которые действительно нужны процессу.

Недостаток: потери времени из-за ожидания загрузки страницы или сегмента.

Однако, загружая несколько соседних страниц вместе с запрашиваемой, страницей, можно уменьшить число операций ввода/вывода, как делается, например, в Windows 2000.

Вталкивание с упреждением

Достоинство: повышение скорости выполнения программы.

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

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

2) Стратегии размещения (placement policy) определяют, в какие участки оперативной памяти наиболее целесообразно поместить загружаемую страницу или сегмент.

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

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

Три возможных алгоритма используются:

  1. первая подходящая зона;

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

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

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

Стратегии выталкивания существуют для двух способов распределения памяти процессам:

  1. постоянное распределение, когда процессу предоставляется фиксированный размер памяти;

  2. переменное распределение, когда размер памяти, предоставляемой процессу, меняется во времени.

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

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

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

5.3.4.3. Стратегии выталкивания с постоянным распределением

Рассмотрим указанные стратегии в порядке улучшения их характеристик.

Соседние файлы в папке Шпоры по СПО