Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по АК.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
752.64 Кб
Скачать

Алгоритм «2-я попытка»

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

Недостаток: громосткость, страницы приходится перезаписывать из памяти в память.

Один из вариантов 2-й попытки является использование признака R – признак обращения.

Алгоритм «часы»

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

Отличительная черта в том, что страницы в памяти не перемещаются, а просто изменяется указатель менеджера памяти. Если оперативная память имеет 1 уровень, то лучше использовать алгоритм «часы», а если 2 уровня (имеется кэш) то лучше алгоритм «вторая попытка».

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

2-й вариант алгоритма LRU предусматривает поддержание битовой матрицы размерностью nxn где n – количество страниц в системе, изначально n=0. Каждый раз при доступе к к-той странице присваивается всем битам к-значения 1, а затем обнуляются все биты столбца - к. В любой момент времени самой старшей является страница с наименьшим двоичным значением.

(1) 0 1 2 3

0

1

2

3

(2) 0 1 2 3

0

1

2

3

0

0

1

1

1

0

1

1

0

0

0

0

0

0

0

0

0

0

1

1

1

0

1

1

0

0

0

0

0

0

0

0


(3) 0 1 2 3

0

1

2

3

(4) 0 1 2 3

0

1

2

3

0

0

1

0

1

0

1

0

0

0

0

0

1

1

1

0

0

0

0

0

1

0

0

0

1

1

0

1

1

1

0

0


  1. Обращение к странице «0»

  2. Обращение к странице «1»

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

Достоинства: с привлечением аппаратных средств дает наибольшую производительность.