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

Другие алгоритмы

Например, алгоритм Second-Chance - модификация алгоритма FIFO, которая позволяет избежать потери часто используемых страниц с помощью анализа флага обращений (бита ссылки) для самой старой страницы. Если флаг установлен, то страница, в отличие от алгоритма FIFO, не выталкивается, а ее флаг сбрасывается, и страница переносится в конец очереди.

В компьютере Macintosh использован алгоритм NRU (Not Recently-Used), где страница-"жертва" выбирается на основе анализа битов модификации и ссылки. Интересные стратегии, основанные на буферизации страниц, реализованы в VAX/VMS и Mach.

39. Thrashing. Свойство локальности. Модель рабочего множества. Демоны пейджинга. Трешинг (Thrashing)

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

Рис. 10.3.  Частота page faults в зависимости от количества кадров, выделенных процессу

Часто результатом трешинга является снижение производительности вычислительной системы.

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

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

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

Свойство локальности

Суть в том, что распределение запросов процессов на обращение к памяти имеет не равномерный характер, с высокой степенью локальной концентрации. Временная локальность – это концентрация по времени. Пространственная локальность – означает, что соседние объекты будут характеризоваться одинаковыми свойствами. На основе изучения локальности Деннинг сформулировал «Теорию рабочего множества программ», т.е. подмножество страниц, к которым процесс непрерывно обращается. Он говорил, что для обеспечения эффективного выполнения программ надо, чтобы их рабочие множества находились в первичной памяти, т.е. в ОЗУ, а иначе может происходить чрезмерная подкачка страниц, трешинг. Реальное рабочее множество процесса – это множество страниц, которые должны находится в ОЗУ и к которым процесс активно обращается в данный промежуток времени. Во время работы эти рабочие множества динамически меняются. Алгоритм должен работать так, чтобы не выбрасывать нужные страницы из рабочего множества.