Заміщення сторінок

Книга присвячена сімейству операційних систем UNIX та містить інформацію про принципи організації, ідеології та архітектури, що поєднують різні версії цієї операційної системи.
У книзі розглядаються: архітектура ядра UNIX (підсистеми вводу/виводу, управління пам'яттю та процесами, а також файлова підсистема), програмний інтерфейс UNIX (системні виклики та основні бібліотечні функції), середовище користувача (командний інтерпретатор shell, основні команди та утиліти) та сеті підтримка UNIX (протоколів сімейства TCP/IP, архітектура мережевої підсистеми, програмні інтерфейси сокетів і TLI).
Для широкого кола користувачів
Операційна система UNIX
Заміщення сторінок
Механізми управління пам'яттю зводилися до використання свопінгу. Процеси завантажувалися в безперервні області оперативної пам'яті повністю, процес вивантажувався також повністю. Тільки невелика кількість процесів могла бути одночасно розміщена в пам'яті, і при запуску процесу виконання, кілька інших процесів необхідно було перемістити у вторинну пам'ять. Схема керування пам'яттю, заснована на механізмі свопінгу, показана на рис. 3.11.

Мал. 3.11. Управління пам'яттю, засноване на свопінгу

Мал. 3.12. Управління пам'яттю, засноване на сторінковому заміщенні на вимогу
Взагалі кажучи, конкретний механізм сторінкового заміщення залежить від того, як реалізовано три основні принципи:
1. За яких умов система завантажує сторінки на згадку, т.зв.принцип завантаження(fetch policy).
2. У яких ділянках пам'яті система розміщує сторінки, т.зв.принцип розміщення(placement policy).
3. Як система вибирає сторінки, які потрібнозвільнити з пам'яті, коли відсутні вільні сторінки для розміщення (або їх кількість менша за деяке порогове значення), т.зв.принцип заміщення(replacement policy).
Зазвичай, всі фізичні сторінки однаково підходять для розміщення, і принцип розміщення не робить істотного впливу на роботу механізму в цілому. Таким чином ефективність управління пам'яттю повністю залежить від двох інших принципів: завантаження та заміщення. У системах із чистим сторінковим заміщенням на вимогу пам'ять поміщаються лише потрібні сторінки, а заміщення проводиться, коли повністю відсутня вільна оперативна пам'ять. Відповідно, продуктивність таких систем залежить від реалізації принципу заміщення. Однак більшість сучасних версій UNIX не використовують чистого заміщення на вимогу. Натомість принцип завантаження передбачає розміщення відразу кількох звернення до яких найімовірніше найближчим часом, а заміщення проводиться до того, як пам'ять буде повністю зайнята.
4. Сторінка, що адресується, відсутня в пам'яті і вона не асоційована ні з областю свопінгу, ні з файлом. Типовим прикладом такої ситуації є сторінка сегмента неініціалізованих даних. Звернення до такої сторінки вимагає розміщення нової сторінки, заповненої нулями.