2017-05-13 8 views
1

私は、メモリのページ構造について読み、いくつかのポイントを取得することはできません。階層ページテーブル対反転テーブル

  • ページテーブルを:私は(インテルi5のような)プロセスを理解できるようにページを持っていますテーブルとその結晶に統合されたTLB、それはありませんか?しかし、このテーブルには仮想ページのアドレスが含まれていないので、OSは動作可能なメモリ内にまだ1つのページテーブルを持っていなければなりません。そう?

  • 反転テーブル:私はそれがページテーブルを持っていることを理解しましたが、このテーブルにはメモリの実際のブロックのアドレスが含まれています。そして私は何も得ていない。プロセスまたはOSに配置されているこのテーブルは、そのテーブルを操作メモリに提供します。ハッシュ関数とは何ですか?
    Inverted page tables
    画像から。 PID - プロセスID(これと一致する)、p - 物理ページまたは仮想ページの場合は、このテーブルは何ですか?

Plsは、Wikiへ私を参照してなどいない私はすでにそれを読んで、私は得ることができませんでした。誰かがそれをより明確に説明できますか?

答えて

1

学習のために、プレーンなバニラページテーブルから始めてください。ごくわずかなプロセッサで使用される奇妙なものであるため、逆ページテーブルを無視して開始します。

最も単純なケースは、単一レベルのページテーブルです。その場合、論理アドレスは論理ページ番号とそのページ内のオフセットとからなる。論理ページから物理ページフレームに変換するには、ページ番号を取得し、それをページテーブルのインデックスとして使用します。次に、ページテーブルは、ページがマップされる物理ページフレーム(存在する場合)を指定する。

複雑さの次のレベルは、複数レベルのページテーブルです。その場合、論理ページ番号はビットフィールドに分割され、各フィールドはテーブルのレベルを表します。最上位ビットフィールドは、トップレベルページテーブルのインデックスにある。対応するページテーブルエントリは、別のページテーブルを参照します。次の最上位ビットフィールドは、そのページテーブルへのインデックスである。エントリが物理ページフレームを指定する最後のページテーブルレベルに達するまで、プロセスが繰り返されます。

このシステムでは、ページテーブルは論理アドレスから物理ページフレームにマッピングされることに注意してください。物理ページ・フレームと論理アドレスとの間には直接的なマッピングはない。

逆ページテーブルの場合、すべてを再学習する必要があります。物理ページフレームごとにエントリを持つ1つのページテーブルがあります。ページテーブルは、それに対応する対応する仮想ページ(存在する場合)を示す。

逆ページテーブルシステムでは、プロセッサは物理ページフレームから論理ページに直接マッピングできます。論理ページフレームから物理ページにマッピングするために、プロセッサはページテーブルを走査しなければならない(キャッシュに大きく依存する)。

通常のページテーブルの仕組みはシステム間でほとんど同じです(主な違いはレベル数です)。しかし、逆ページテーブルを使用するシステムには、このような類似性はありません。

逆ページテーブルを使用するシステムでは、単一のシステム全体のテーブル(プロセスごとに1つのテーブルとは対照的に)を使用する場合は、同じ論理ページを別々にマップするプロセスのあいまいさを解決するために、物理ページフレーム。

逆ページテーブルで論理ページ/ PIDの組み合わせを参照する1つの方法は、別のハッシュテーブルを使用することです。これがダイアグラムのPIDです。あなたは論理ページ番号のように見えます。

現実世界を回るためには、逆ページテーブルが存在し、その基本的な操作があることだけを知る必要があります。

+0

本当にありがとうございました。しかし、私は逆のテーブルを見逃すことはできません、残念ながら、私の試験は私がそれを知っている必要があります。そして私はそれを自分のために手に入れたい。 –

+0

申し訳ありませんが、私は悪い** p **です。私はそれが論理的なアドレスだと思った。しかし、それは何ですか?仮想メモリ内のページアドレス? –

+1

論理アドレスと仮想アドレスは、ページが物理ページ・フレームにマップされている仮想メモリー・システムでは同じです。 – user3344003