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

Операційні системи та мережі ЕОМ
Operating Systems
and Networking
Лекція 18

Віртуальна пам’ять
Мотивування
Необхідність у сторінковій організації
Створення процеса
Заміна сторінки
Разміщення фреймів
Thrashing
Приклади ОС
(C) В.О. Сафонов, 2 |
2 |
007 |
|

Мотивування
Віртуальна пам’ять – відокремлення логічної пам’яті користувача від фізичної пам’яті.
Тольки частина програми вимагає розміщення в пам’яті для виконання.
Таким чинов,логічний адресний простір може бути набагато більший, ніж фізичний.
Підтримує використання одного і тогож адресного простору більш ніж одним процесом (lightweight processes, etc.).
Допускає більш эфективне створення процесу.
Віртуальна пам’ять може бути реалізована с допомогою:
Сторінкової організації за вимогою
Сегментної організації за вимогою
(C) В.О. Сафонов, 2 |
3 |
007 |
|

Віртуальна пам’ять більша, ніж фізичная пам’ять
4
007

Сторінкова організація за вимогою
Сторінка завантажується в пам’ять, тільки якщо вона реально потрібна.
Менший об’ем вводу-виводу
Менший об’ем пам’яті
Більш швидка реакція системи
Система може обслуговавути більше число користувачів
Сторінка потрібна => на неї є посилання
Невірне посилання => переривання
Сторінка відсутня у пам’яті => довантажити її у пам’ять
(C) В.О. Сафонов, 2 |
5 |
007 |
|

Перетворення сторінкової пам’яті у неперервний дисковий простір
(C) В.О. Сафонов, 2 |
6 |
007 |
|

Біт “valid – invalid”
З кожним елементом таблиці сторінок пов’язується біт “valid/invalid”:
1 сторінка в пам'яті, 0 сторінка відсутня у
пам'яті.
Ініціалізація: для всіх елементів таблиці сторінок біт valid/invalid = 0.
Приклад стану таблиці сторінок.
Якщо в процесі трансляції адреси біт “valid/invalid” в таблиці сторінок дорінює 0 => переривання по відсутності сторінки в пам'яті (page fault).
(C) В.О. Сафонов, 2 |
7 |
007 |
|

Приклад таблиці сторінок, в котрій не всі стрінки присутні у пам'яті
8
007

Відстуність сторінки в пам'яті
Якщо є посилання на сторінку, відсутню у пам'яті, перший же виклик по такому посиланню приведе до переривання і виклику ОС (ситуація page fault – відсутність сторінки)
ОС по таблицям визначає:
Невірне посилання припинення роботи програми.
Звичайна відсутність сторінки в пам'яті.
Знайти незайнятий фрейм.
Зчитати вміст сторінки у даний фрейм.
Зміна таблиць; validation bit = 1.
Продовження роботи програми
(C) В.О. Сафонов, 2 |
9 |
007 |
|

Етапи обробки ситуації відсутності сторінки в пам'яті
10
007