Щоб відповісти на це питання, я відвідаю певну передумову. Чистого підключення до вимог неможливо виконати без апаратної підтримки. Усі сучасні комп'ютерні архітектури підтримують пейджинговий доступ, однак у багатьох є різні деталі реалізації.
Процесори x86 використовують те, що називається таблицею сторінок, для відстеження віртуальних адресних просторів та відображень сторінок, а також бітів про привілеї доступу та, що більш актуально, чи ця сторінка навіть присутня у фізичній пам'яті. Порушення несправностей помилок сторінки, які захоплені ОС.
Більш детальну інформацію про це дивіться у цій статті .
Для того, щоб відповісти на запитання про заміну сторінок, спершу слід відвідати питання про те, як операційна система відслідковує, які сторінки використовуються для якого процесу та як вони розподіляються. Існує багато різних структур даних, які можна використовувати для таких. Плоский бітовий масив, який позначає, виділяється чи ні кадр, є одним із способів. Зв'язані списки чи стеки - це ще одне. При чистому підшукуванні попиту виділені сторінки фактично не позначаються такими, що існують, коли вони виділяються. Це призводить до того, що жоден фізичний баран не відкладається під час процесу, поки він фактично не запише до нього. Після цього апаратне забезпечення видаляє помилку, в яку потрапляє ОС, і тоді ОС використовує алгоритм заміни, якщо немає доступних фізичних сторінок, щоб призначити вже виділену віртуальну сторінку.
Більш детальну інформацію про розподіл кадрів сторінки див. Тут . Там ви побачите загальний огляд деяких відповідних структур даних.
Як тільки реалізований відповідний алгоритм розподілу сторінок, слід вибрати інший для виділення місця на диску для заміни. Windows, як приклад, історично використовував плоский файл у файловій системі для заміни сторінки. Я б міг уявити, що для кожного вузла в структурі даних, що відстежує виділені сторінки, є присвоєний вказівник на зсув у файлі, що вказує положення сторінки на диску. Unix-подібні операційні системи традиційно використовують окремі розділи для заміни сторінки, що, можливо, швидше, оскільки немає файлової системи.
Можна також відокремити структури даних алгоритму заміщення від структур алгоритму розподілу, однак обидві пов'язані, тому це, мабуть, не часто робиться.
Я сподіваюся, що відповість на ваше запитання, незважаючи на відносну стислість, з якою я поставився до цього. Я виявив, що найкращий спосіб дізнатися про операційні системи - це зануритися в інколи неприємні архітектурні деталі, які можна знайти на таких сайтах, як wiki.osdev.org та www.osdever.net, які спеціально займаються хобі створення ОС та надають чудові навчальні посібники. на такі деталі.