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

Операційні системи та мережі ЕОМ

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

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