私は読んでいます。Linuxカーネルについて学ぶ。私はどのように理解しようとしています。論理アドレスに翻訳されています実際の住所。私の理解によると、論理アドレスは分割単位の助けを借りて線形アドレスに変換され、ページング単位の助けを借りて線形アドレスは物理アドレスに変換されます。もっと詳しく見ると、分割レジスタはユーザーモードからカーネルモードに切り替えたときにのみ変更され、そうでなければ同じままです。つまり、ユーザモードで実行される各種プロセスの場合、分割レジスタセットは次のようになります。CS、DS、春夏シーズンなどは同じです。また、セグメント記述子テーブルでも~によるとそして限界各プロセスで実行されるフィールドも同じです。
この場合、プロセスの論理アドレスがどのように機能するかを理解できません。その他別の論理アドレス?
ベストアンサー1
同じ論理アドレスセットをx86 Linux上の他の物理アドレスへの異なるマッピング(プロセス別)は、ページングを介してのみ達成できます。すなわち、基本的に異なるCR3レジスタ値は、各プロセスごとに異なるPGDを指す。同じCS、DS値を使用すると(つまり、各プロセスに固有のものはなく、セグメント記述子が同じで、ユーザーモードとカーネルモードの間で権限のみが異なる)、すべてのプロセスに対して同じ線形アドレスセットがあります。唯一の違いはページ付けを介してです。あなたの答えにMr。ありがとう、Krishna Kumarに行ったことがありますか?