
- •Операційні системи та мережі ЕОМ
- •Алгоритми аппроксимації LRU
- •Алгоритм другого шансу
- •Алгоритми з лічильником
- •Виділення фреймів
- •Фіксоване виділення
- •Виділення за пріоритетами
- •Глобальне и локальне розподілення
- •Thrashing
- •Thrashing
- •Thrashing
- •Модель робочої множини
- •Модель робочої множини
- •Приклад ОС: Windows NT
- •Приклад ОС: Solaris 2
- •Інтерфейс з системою файлів
- •Поняття файла
- •Структура файла
- •Атрибути файлів
- •Операції над файлом
- •Типи файлів – ім’я і розширення

Операційні системи та мережі ЕОМ
Operating Systems
and Networking
Лекція 19
Сафонов Володимир Олегович, професор кафедри інформатики, керівник лабораторії Java-технології
НИИММ СПбГУ
Email: v_o_safonov@mail.ru

Алгоритми аппроксимації LRU
Біт посилання
З кожною сторінкою пов’язується біт, початково = 0
При зверненні до сторінки біт встановлюється в 1.
Заміняти сторінку, в котрої біт рівний 0 (якщо така існує).
Другий шанс
Необхідний біт посилання.
Заміщення сторінок на основі показів годинника.
Якщо сторінка, котру необхідно замінити (по показам годинника), має біт посилання = 1, то:
Встановити біт посилання в 0.
Залишити сторінку в пам'яті.
Замістити наступну сторінку (по показам годинника), по тим же правилам.
(C) В.О. Сафонов, 2 |
2 |
007 |
|

Алгоритм другого шансу
(C) В.О. Сафонов, 2 |
3 |
007 |
|

Алгоритми з лічильником
Зберігати лічильники числал звернень до кожної сторінки.
Алгоритм LFU: заміщати сторінки з мінімальним значенням лічильника.
Алгоритм MFU: заснований на твердженні, що сторінка з мінімальним лічильником – можливо лише нещодавно завантажена, та буде активно використовуватись.
(C) В.О. Сафонов, 2 |
4 |
007 |
|

Виділення фреймів
Кожному процесу необхідно мінімальне число сторінок.
Приклад: IBM 370 – 6 сторінок необхідно, щоб обробити команду SS MOVE:
Довжина команди - 6 байтів, може працювати з двома сторінками.
2 сторінки – для обробки джерела.
2 сторінки – для обробки отримувача.
Дві основних схеми виділення.
Фіксоване виділення
Виділення за пріоритетами
(C) В.О. Сафонов, 2 |
5 |
007 |
|

Фіксоване виділення
Рівномірне розподілення – наприклад, якщо є 100 фреймів и 5 процесів, кожному виділяється по 20 сторінок.
Пропорційне розподілення – виділяти фрейми у відповідності з наступним принципом:
si size of process pi
S si
m total number of frames ai allocation for pi sSi m
(C) В.О. Сафонов, 2 |
6 |
007 |
|

Виділення за пріоритетами
Використовувати схему пропорційного розподілення, використовуючи пріоритети, а не розмір.
Якщо процес Pi генерує відмову сторінки, то
Вибрати для заміщення один з його фреймів.
Вибрати для заміщення фрейм з процесу з більш низьким пріоритетом.
(C) В.О. Сафонов, 2 |
7 |
007 |
|

Глобальне и локальне розподілення
Глобальне заміщення – процес обирає фрейм для заміщення серед усіх існуючих фреймів; один процес может взяти фрейм у другого.
Локальне заміщення – кожен процес обирає фрейм тільки з числа виділених йому фреймів.
(C) В.О. Сафонов, 2 |
8 |
007 |
|

Thrashing
(букв. - “кидання, тряска”)
Якщо процесу не виділено достатнє число сторінок, коефіцієнт відмов сторінок дуже високий. Це призводить до:
Низької продуктивності використання процесора.
Прийняттю рішення ОС про збільшення степені мультипрограмування.
Доданню нового процесу до системи (!?).
Thrashing процес зайнятий в основному
вивантаженням і підвантаженням сторінок.
(C) В.О. Сафонов, 2 |
9 |
007 |
|

Thrashing
(C) В.О. Сафонов, 2 |
10 |
007 |
|