参照ビットを持たないハードウェアでの技法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/03/08 15:27 UTC 版)
「ページ置換アルゴリズム」の記事における「参照ビットを持たないハードウェアでの技法」の解説
これまで解説してきた技法の多くは、各ページに対応した参照ビットが存在することを前提としている。中にはそのようなビットを持たないハードウェアもあり、その場合に効率的にページ置換を行うにはテクニックを要する。 よく知られた例として、VMSの動作するVAXがある。その手法は Secondary Page Caching と呼ばれている。ワーキングセットから除かれたページはすぐには削除されず、一時的に2つのリストのいずれかに置かれる。二次記憶装置の対応する内容が有効なページ(書き換えられていないページ)は Free Page List の最後尾に置かれ、書き換えられているページは Modified Page List に置かれる。 ARMアーキテクチャでのLinuxカーネル実装でも参照ビットのない状況に対処している。この場合、参照ビットも更新ビットもないプロセッサ本来のページテーブルと、それらのビットを含めたページテーブルを用意する。それらのビットのエミュレーションはページフォールト処理で行う。そして参照ビットをクリアしたとき、ページフォールトを確実に発生させなければならないので、プロセッサ本来のページテーブルを同時に書き換える。 ワーキングセットから除くページの選択は基本的にランダムになされるが、即座に書き換えられて使われるわけではないので、プロセスが再びそのページを参照し、ソフトフォールトを発生することもある。Modified Page List は二次記憶への書き戻しをまとめて行うことで効率を向上させ、書き戻したページは Free Page List に移される。Free Page List 上のページの順序は LRU か NRU に似た機構を提供し、全体として先述のセカンドチャンスと似たような効率となる。
※この「参照ビットを持たないハードウェアでの技法」の解説は、「ページ置換アルゴリズム」の解説の一部です。
「参照ビットを持たないハードウェアでの技法」を含む「ページ置換アルゴリズム」の記事については、「ページ置換アルゴリズム」の概要を参照ください。
- 参照ビットを持たないハードウェアでの技法のページへのリンク