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

25. Методы замещения страниц fifo, lru.

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

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

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

Алгоритм FIFO (first in – first out): удаляется страница, которая дольше всего находится в ОП.

Алгоритм FIFO не учитывает использование страницы. На рис. приведена иллюстрация работы алгоритма на модели при М=3. Параметры модели и оценка производительности для данного случая: |Р|=12, F=9, f=9/12.

P

4 3 2 1 4 3 5 4 3 2 1 5

M=3

4

3

2

1

4

3

5

5

5

2

1

1

4

3

2

1

4

3

3

3

5

2

2

4

3

2

1

4

4

4

3

5

5

+ + + + + + + - - + + -


Этот алгоритм обладает и принципиальным недостатком - аномалией страниц. При увеличении объема ОП естественно ожидать уменьшение числа страничных прерываний. Во всяком случае, алгоритмы замещения должны давать не худший результат, чем при меньшем объеме ОП. На рис. показана модель производительности алгоритма FIFO для той же траектории, но при увеличении М. Как видно из примера, объем ОП увеличился, а оценка производительности ухудшилась. Параметры модели и оценка производительности для этого случая: |Р|=12, F=10, f=10/12.

P

4 3 2 1 4 3 5 4 3 2 1 5

M=4

4

3

2

1

1

1

5

4

3

2

1

5

4

3

2

2

2

1

5

4

3

2

1

4

3

3

3

2

1

5

4

3

2

4

4

4

3

2

1

5

4

3

+ + + - - + + + + + + +


Алгоритм LRU ( least recently used) : удаляется страница, к которой дольше всего не было обращений.

В основе этого алгоритма лежит предположение о том. что если к странице обращаются в настоящее время, то к ней же обратятся в ближайшем будущем. Это утверждение называется принципом локальности во бремени. Оно основано на опыте конструирования программ. Действительно, программный код и данные группируются в локальных областях памяти, дальние обращения выполняются редко. На рис.1 показано выполнение траектории страниц Р при М=3, а на рис.2 та же траектория для М=4. Параметры модели и оценки производительности ДЛЯ М=3: |Р|=12, F=10, f=10/12, а ДЛЯ М=4 1Р1=12. F=8, f=8/12.

P

4 3 2 1 4 3 5 4 3 2 1 5

M=3

4

3

2

1

4

3

5

5

5

2

1

5

4

3

2

1

4

3

3

3

3

2

1

4

3

2

1

4

4

4

3

3

2

+ + + + + + + - - + + -


Рис.1

P

4 3 2 1 4 3 5 4 3 2 1 5

M=4

4

3

2

1

1

1

1

1

1

2

2

2

4

3

2

2

2

5

5

5

5

1

1

4

3

3

3

3

3

3

3

3

3

4

4

4

4

4

4

4

4

5

+ + + - - + + + + + + +


Рис.2

Если сравнить соответствующие столбцы таблиц, то можно заметить что множества страниц, находящиеся в памяти для М=3. включаются в множество страниц при М=4 для соответствующих моментов поступления страниц. Это свойство алгоритма гарантирует, что при увеличении объема ОП оценка производительности не ухудшится. Алгоритмы, обладающие таким свойством, относятся к классу стековых алгоритмов, которые характеризуются отсутствием аномалии.

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

Примером такой аппроксимации является использование бита обращения. В начальный момент времени все биты обращения сбрасываются в 0 Если в процессе функционирования происходит обращение к физической странице, то ее бит обращения устанавливается в 1. Для выгрузки выбирается страница, у которой бит обращения равен 0;Если биты обращения всех страниц установились в 1, то они все сбрасываются в 0 и предыдущая информация об использовании страниц теряется. Аппроксимация алгоритма FRU состоит в использовании информации на ограниченном отрезке времени.

Соседние файлы в предмете Операционные системы