
- •Операційні системи та мережі ЕОМ
- •Віртуальна пам’ять
- •Мотивування
- •Віртуальна пам’ять більша, ніж фізичная пам’ять
- •Сторінкова організація за вимогою
- •Перетворення сторінкової пам’яті у неперервний дисковий простір
- •Біт “valid – invalid”
- •Приклад таблиці сторінок, в котрій не всі стрінки присутні у пам'яті
- •Відстуність сторінки в пам'яті
- •Етапи обробки ситуації відсутності сторінки в пам'яті
- •Ситуація відсутності вільного фрейма
- •Оцінка продуктивності стратегії обробки сторінки за вимогою
- •Створення процесу
- •Спільне використання сторінок процесами
- •Файли, що відображаються в пам'ять (memory-mapped files)
- •Файли, що відображаються в пам'ять
- •Заміщення сторінок
- •Приклад: заміщення сторінок
- •Коротке викладення стратегії (алгоритму) заміщення сторінок
- •Заміщення сторінок
- •Алгоритми заміщення сторінок
- •Графік залежності числа відмов сторінок від числа фреймів
- •Алгоритм FIFO (First-in-First-Out)
- •Приклад заміщення сторінок за алгоритмом FIFO
- •Аномалія Belady при використанні алгоритму FIFO заміщення сторінок
- •Оптимальний алгоритм заміщення сторінок
- •Приклад використання оптимального алгоритму заміщення сторінок
- •Алгоритм Least Recently Used (LRU)
- •Заміщення сторінок за алгоритмом LRU
- •Алгоритм LRU (продовження)
- •Використання стека для зберігання інформації про самі недавні звернення до сторінок

Алгоритми заміщення сторінок
Необхідно досягати зменшення коефіцієнта відмов сторінок 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 |
|