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

Алгоритми заміщення сторінок

Необхідно досягати зменшення коефіцієнта відмов сторінок p.

Оцінка алгоритму може бути виконана шляхом випробування його на конкретній стрічці зверненій до пам'яті (стрічці запитів) і визначення числа відмов сторінок при даній стрічці запитів.

У всіх наведених прикладах з області сторінкової організації стрічка запитів має вигляд:

1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.

(C) В.О. Сафонов, 2

21

007

 

Графік залежності числа відмов сторінок від числа фреймів

(C) В.О. Сафонов, 2

22

007

 

Алгоритм FIFO (First-in-First-Out)

Стрічка запитів: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

3 фрейма (3 сторінки можут бути одночасно у пам'яті для одного процесу)

(1, 2, 3)

(4, 1, 2)

(5, 3, 4)

9 відмов сторінок

 

 

4 фрейма

 

 

 

(1, 2, 3, 4)

(5, 1, 2, 3)

(4, 5)

10 (!) відмов сторінок

 

FIFO – алгоритм заміщення => аномалія Belady

більше фреймів менше відмов сторінок

(C) В.О. Сафонов, 2

23

007

 

Приклад заміщення сторінок за алгоритмом FIFO

(C) В.О. Сафонов, 2

24

007

 

Аномалія Belady при використанні алгоритму FIFO заміщення сторінок

25

007

Оптимальний алгоритм заміщення сторінок

Заміщується та сторінка, котра не використовувалась протягом найбільшого періоду часу.

Приклад с чотирма фреймами

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

(1

2 3

4)

 

4

 

5

- (всього) 6 відмов сторінок

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

(C) В.О. Сафонов, 2

26

007

 

Приклад використання оптимального алгоритму заміщення сторінок

(C) В.О. Сафонов, 2

27

007

 

Алгоритм Least Recently Used (LRU)

Стрічка запитів: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

(1 2 3 4) 5 5 3

4

Реалізація лічильників:

Кожен елемент таблиці сторінок містить лічильник; кажен раз при зверненні до сторінки через деякий элемент таблиці сторінок вміст годинника (clock) копіюється в його поле лічильника.

Коли потребується зміна в конфігурації сторінок, необхідно проаналізувати поля лічильників, щоб визначити, яку саме сторінку замінити (ту, у котрої вміст поля лічильника менше => необхідно застосувати алгоритм пошуку мінімального елементу в масиві; складність O(n), где n – довжина таблиці сторінок)

(C) В.О. Сафонов, 2

28

007

 

Заміщення сторінок за алгоритмом LRU

(C) В.О. Сафонов, 2

29

007

 

Алгоритм LRU (продовження)

Стекова реалізація – зберігати стек номерів сторінок (в формі двозв’язного списку):

При зверненні до сторінки:

Перемістити її на початок списку

Для цього необхідно змінити 6 показників

При заміщенні сторінок не потребується пошук

(C) В.О. Сафонов, 2

30

007

 

Соседние файлы в папке 17-20