Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операційні системи.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6.41 Mб
Скачать

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

Одна з можливих стратегій заміщення сторінок наступна: Заміщається та сторінка, що не використалася протягом найбільшого періоду часу. Це цілком виправдано з погляду здорового глузду: чим раніше сторінка останній раз використалася, тим, очевидно, менше вона необхідна в основній пам'яті.

В операційних системах використаються дві основних схеми виділення фреймів - фіксоване виділення й виділення по пріоритетах.

Фіксоване виділення фреймів.Найбільш простий варіант - рівномірний розподіл фреймів процесам. Наприклад, якщо є 100 фреймів й 5 процесів, кожному виділяється по 20 сторінок. Використається також пропорційний розподіл – виділяти фрейми у відповідності з наступним принципом: якщо загальне число фреймів m, розмір процесу – s, а загальний розмір всіх процесів – S, те загальне число фреймів, виділених процесу, дорівнює:

a = m * (s / S).

Виділення по пріоритетах.Принцип даного розподілу фреймів наступний: застосовувати схему пропорційного розподілу, але використовуючи пріоритети, а не розмір. Якщо процес генерує відмову сторінки, то для заміщення виділяється фрейм із процесу з більше низьким пріоритетом.

Глобальний і локальний розподіл. Глобальне заміщення фреймів означає, що процес вибирає фрейм для заміщення серед всіх існуючих фреймів всіх процесів, тобто один процес може взяти фрейм в іншого. Локальне заміщення фреймів, навпаки, гарантує, що кожен процес вибирає фрейм для заміщення тільки із числа виділених йому фреймів.

Thrashing

Даний термін буквально означає метання, тряска.Якщо процесу не виділене достатнє число сторінок, коефіцієнт відмов сторінок дуже високий. Це приводить до того, що процес зайнятий в основному відкачкою й підкачуванням сторінок. При цьому ОС може зробити невірний висновок про низьку продуктивність використання процесора й, отже ... прийняти рішення про збільшення ступеня мультипрограмування, тобто про додавання нового процесу до системи.

Неформально, thrashing означає катастрофічну недостачу фреймів в основній пам'яті. На практиці для користувача це виглядає в такий спосіб: жорсткий диск буквально "надривається" від безперервних обігів, а процес виконується вкрай повільно.

Інший реальний приклад - використання ОС Windows XP (Service Pack 3) на комп'ютері з 512 мегабайтами пам'яті. При цьому виникає майже таке ж відчуття - спочатку здається, що несправний жорсткий диск, але потім відразу усвідомлюєш, що вся справа в недостачі пам'яті: найпростіші програми, такі як Internet Explorer, Windows Explorer й ін., будучи викликаними одночасно (що є звичайною практикою) переповняють основну пам'ять і змушують операційну систему при будь-якій додатковій дії користувача (навіть при простому пересуванні смуги прокручування по іменах файлів в Windows Explorer) безперервно займатись відкачкою і підкачуванням.

На рис. 18.15 наведено графік залежності використання процесора від коефіцієнта мультипрограмування. При дуже великій кількості оброблюваних процесів корисність використання процесора різко падає через постійні відкачки й підкачування. Це і є thrashing.