Сторінкові демони

Підсистема віртуальної пам'яті працює продуктивно за наявності резерву вільних сторінкових кадрів. Алгоритми, що забезпечують підтримку системи в стані відсутності трешинга, реалізовані у складі фонових процесів (їх часто називають демонами або сервісами), які періодично "прокидаються" і інспектують стан пам'яті. Якщо вільні кадрів виявляється мало, вони можуть змінити стратегію заміщення. Їх завдання - підтримувати систему в стані якнайкращої продуктивності.

Прикладом такого роду процесу може бути фоновий процес - складальник сторінок, що реалізовує полегшений варіант алгоритму відкачування, заснований на використанні робочого набору і вживаний в багатьох клонах ОС Unix (див., наприклад[Bach, 1986]). Даний демон проводить відкачування сторінок, що не входять в робочі набори процесів. Він починає активно працювати, коли кількість сторінок в списку вільних сторінок досягає встановленого нижнього порогу, і намагається виштовхувати сторінки відповідно до власної стратегії.

Але якщо виникає вимога сторінки в умовах, коли список вільних сторінок порожній, то починає працювати механізм свопінгу, оскільки просте відняття сторінки у будь-якого процесу (включаючи той, який зажадав би сторінку) потенційно вело б до ситуації thrashing, і руйнувало б робочий набір деякого процесу. Будь-який процес, що зажадав сторінку не зі свого поточного робочого набору, стає в чергу на вивантаження з розрахунку на те, що після завершення вивантаження хоч би одного з процесів вільної пам'яті вже може бути досить.

У ОС Windows 2000 аналогічну роль грає менеджер балансного набору (Working set manager), який викликається раз в секунду або тоді, коли розмір вільної пам'яті опускається нижче певної межі, і відповідає за сумарну політику управління пам'яттю і підтримку робочих множин.