Наверх Системное программирование
Предыдущий раздел Оглавление Следующий раздел

4.5.5. Алгоритм «часы»

Рис

Рис. 4.8. Алгоритм «часы»

При всей своей логичности алгоритм «второй шанс» слишком неэффективен, поскольку он постоянно перемещает страницы в своем списке. Лучше содержать все страничные блоки в циклическом списке в виде часов (рис. 4.8). Стрелка указывает на самую старую страницу.

При возникновении ошибки отсутствия страницы проверяется та страница, на которую указывает стрелка. Если ее бит R имеет значение 0, страница выселяется, на ее место в «циферблате» вставляется новая страница и стрелка передвигается вперед на одну позицию. Если значение бита R равно 1, то он сбрасывается и стрелка перемещается на следующую страницу. Этот процесс повторяется до тех пор, пока не будет найдена страница с R = 0. Неудивительно, что этот алгоритм называется «часы».

Предыдущий раздел Оглавление Следующий раздел