Clock(Second Chance)
主にOSのページ管理で使われる。
FIFOに近い考え方。
複数のページを円形に配置する。(通常、ページ数は固定になる。)
ページには使用可否フラグがあり、0が使用可、1が使用不可とする。
ポインタ(時計の針)はこの円形を順次回ることになる。
初期はすべてのページの使用可否フラグを0とする。
ページが参照・更新されたとき、そのページの使用可否フラグを1とする。
空きページが必要になったとき
針の指すページの使用可否フラグが
0ならば、そのページの使用可否フラグを1にして、古いデータをパージして、新たなデータで上書きする。
1ならば、0にして、針を進めて次のページを試す。(二度目のチャンスを与えるので Second Chance と呼ばれる)
針が再びこのページにたどり着くまでに一度も使われなければ0、一度でも使われれば1になる。
https://www.youtube.com/shorts/KUpl5twBO8M?app=desktop