一般に、CPU は 2 つのモードのいずれかで実行できることを理解しています: ハードウェアの「安全な」ゾーンへのアクセスが有効になる高レベル許可モードと、残りの部分にアクセスするときに使用される低レベル許可モードです。 cpu 関数。
また、プロセッサが高レベルの特権モード (リング 0 と呼ばれることもあります) にある間、オペレーティング システムのみがプロセッサ上で実行できるようにする何らかの形式の保護メカニズムがあり、ユーザー空間プロセスがプロセッサを実行しているときにそれを行うことも理解しています。低レベルの特権モード (リング 3) です。
私の質問は次のとおりです: cpu は、リング 0 モードで実行されている OS プロセスとリング 3 で実行されているユーザー空間プロセスをどのように区別しますか? ユーザー レベルのプロセスがリング 0 特権レベルを取得できないようにするメカニズムは何ですか?