アドレス空間とページテーブルの関係は? 各プロセスには、仮想アドレスと物理アドレスをマップするページテーブルが必要であることを知っています。しかし、アドレス空間は何をするのでしょうか? os161 では、アドレス空間は次のようになります。
struct addrespace {
vaddr_t as_vbase1;
paddr_t as_pbase1;
size_t as_npages1;
vaddr_t as_vbase2;
paddr_t as_pbase2;
size_t as_npages2;
paddr_t as_stackpbase;
}
以下を使用して、仮想アドレス (vaddr) を物理アドレスに変換します: (セグメント 1 の vaddr を想定)
paddr = vaddr - as_vbase1 + as_pbase1
アドレス空間を使用して、仮想アドレスから物理アドレスを取得できるようです。addrespace を使用して仮想メモリから物理メモリへのマッピングを実行できる場合、なぜページ テーブルが必要なのでしょうか?
あなたの助けを楽しみにしています!ありがとう!