ページングを理解しようとしていますが、いくつかの問題が発生しています。理解できない問題の例を見つけたので、誰かが私を正しい方向に向けてくれることを望んでいました:
問題の理論上のシステムには、64K (2^16) バイトのメモリがあります。ページ サイズは 4K バイト (2^12) で、ページ テーブルには 15 個の全体があります。理論上のプロセス X のページ テーブルの各エントリには、ページ番号、存在/不在ビット、およびページ フレーム番号があります。
物理アドレスのルックアップでは、ページ サイズをオフセットに割り当てられる量として使用し、残りのアドレス空間をページ フレーム番号に使用することを理解しています。ただし、アドレス空間番号がないと、理論上のシステムで物理アドレスを表すために必要なビット数を計算する方法がわかりません。
さらに複雑なことに、最大のアドレス空間 (たとえば 32K バイト) が与えられた場合、仮想アドレスをどのように表現するかわかりません。ページテーブルの構造を考えると、単純にアドレス空間のサイズのような気がします。これは私も正しく感じません。
このようなものがどのように機能するかを明確にするための助けはありがたいです。私の調査では、アドレス空間のサイズをページ サイズで割ることによって、テーブル エントリの数を計算できることに気付きました。これで、物理アドレスを表すために何ビットを使用するかという私の質問に答えることができると思いましたが、その仮定には欠陥があることに気付きました。
みんな、ありがとう。
MN7