最初の3GBはプロセス用に予約されており、最後のGBはカーネル用に予約されていることを読みました。また、カーネルは物理アドレス空間の2番目のMBからロードされることも読みました(構成によって異なります)。私の質問は、最後の1 GBのマッピングはすべてのプロセスで同じであり、この物理的なメモリ領域にマッピングされるということですか?
もう1つの質問は、プロセスがカーネルモードに切り替わるとき(たとえば、sys呼び出しが発生するとき)、どのページテーブルが使用されるか、プロセスページテーブルまたはカーネルページテーブルですか?カーネルページテーブルが使用されている場合、プロセスに属するメモリ位置にアクセスできません。その場合、カーネルコードとデータへのすべてのアクセスは、プロセスアドレス空間の最後の1 GBのマッピングを介して行われるため、カーネル仮想メモリは明らかに使用されません。これを明確にするのを手伝ってください(有用なリンクがあれば大歓迎です)