私はこの声明について混乱しています:
http://web.stanford.edu/class/cs140/projects/pintos/pintos_4.html#SEC63から:
Pintos では、すべてのユーザー仮想ページがそのカーネル仮想ページにエイリアスされます。
カーネルはユーザー仮想アドレスを使用してユーザーページを参照でき、その上にカーネル仮想アドレスがあると思いました。たとえば、下の画像では、VAS 全体が 0 ~ 4GB であり、ユーザーの仮想アドレス空間は PHYS_BASE より下のアドレスに制限され、カーネルはそれより上のアドレスにもアクセスできるのではないでしょうか?
( http://web.stanford.edu/class/cs140/cgi-bin/section/10sp-proj3.pdfより)
ただし、PintOS のドキュメントが続いているため、これはどのように機能するようには見えません。
これらのエイリアスは何らかの方法で管理する必要があります。たとえば、コードで両方のアドレスのアクセス ビットとダーティ ビットをチェックして更新できます。別の方法として、カーネルは、ユーザー仮想アドレスを介してのみユーザー データにアクセスすることで、問題を回避することができます。
これは、カーネルが別のカーネル仮想アドレスを介してユーザー データにアクセスできることを意味します。2 つのアドレスが異なる理由はわかりません。
明確にしていただきありがとうございます。