学習のために、プレーンなバニラページテーブルから始めてください。ごくわずかなプロセッサで使用される奇妙なものであるため、逆ページテーブルを無視して開始します。
最も単純なケースは、単一レベルのページテーブルです。その場合、論理アドレスは論理ページ番号とそのページ内のオフセットとからなる。論理ページから物理ページフレームに変換するには、ページ番号を取得し、それをページテーブルのインデックスとして使用します。次に、ページテーブルは、ページがマップされる物理ページフレーム(存在する場合)を指定する。
複雑さの次のレベルは、複数レベルのページテーブルです。その場合、論理ページ番号はビットフィールドに分割され、各フィールドはテーブルのレベルを表します。最上位ビットフィールドは、トップレベルページテーブルのインデックスにある。対応するページテーブルエントリは、別のページテーブルを参照します。次の最上位ビットフィールドは、そのページテーブルへのインデックスである。エントリが物理ページフレームを指定する最後のページテーブルレベルに達するまで、プロセスが繰り返されます。
このシステムでは、ページテーブルは論理アドレスから物理ページフレームにマッピングされることに注意してください。物理ページ・フレームと論理アドレスとの間には直接的なマッピングはない。
逆ページテーブルの場合、すべてを再学習する必要があります。物理ページフレームごとにエントリを持つ1つのページテーブルがあります。ページテーブルは、それに対応する対応する仮想ページ(存在する場合)を示す。
逆ページテーブルシステムでは、プロセッサは物理ページフレームから論理ページに直接マッピングできます。論理ページフレームから物理ページにマッピングするために、プロセッサはページテーブルを走査しなければならない(キャッシュに大きく依存する)。
通常のページテーブルの仕組みはシステム間でほとんど同じです(主な違いはレベル数です)。しかし、逆ページテーブルを使用するシステムには、このような類似性はありません。
逆ページテーブルを使用するシステムでは、単一のシステム全体のテーブル(プロセスごとに1つのテーブルとは対照的に)を使用する場合は、同じ論理ページを別々にマップするプロセスのあいまいさを解決するために、物理ページフレーム。
逆ページテーブルで論理ページ/ PIDの組み合わせを参照する1つの方法は、別のハッシュテーブルを使用することです。これがダイアグラムのPIDです。あなたは論理ページ番号のように見えます。
現実世界を回るためには、逆ページテーブルが存在し、その基本的な操作があることだけを知る必要があります。
本当にありがとうございました。しかし、私は逆のテーブルを見逃すことはできません、残念ながら、私の試験は私がそれを知っている必要があります。そして私はそれを自分のために手に入れたい。 –
申し訳ありませんが、私は悪い** p **です。私はそれが論理的なアドレスだと思った。しかし、それは何ですか?仮想メモリ内のページアドレス? –
論理アドレスと仮想アドレスは、ページが物理ページ・フレームにマップされている仮想メモリー・システムでは同じです。 – user3344003