1

私は多くの異なるサイトから読んだので少し混乱していますが、それは私には明らかではありません:

すべてのセグメントレジスタには、表示部分と非表示部分があります。表示されている部分はセグメントセレクターと呼ばれ、セグメントセレクターをロードするための直接の指示があります。

リクエスター特権レベル(RPL):このフィールドは、データに保護されたアクセスを提供する特権レベルを識別します。

さて、たとえば、セレクターをロードするためにアセンブリで命令を使用できることは理解していますが、RPLを正しく変更することはできませんか?それはどこから来たのですか?CPUはどのようにそれを選択しますか?ありがとう

4

1 に答える 1

3

RPL は実際にはセグメント セレクターの下位 2 ビットにすぎないため、必要な特権レベル (0 ~ 3) をロードできますが、要求されたレベルが対応するセグメントの DPL よりも高い (数値的に低い) 場合、 GP フォールトが発生します。これにより、プログラムは、メモリ マップド I/O などに関連する場合、OS が付与した権限よりも低い権限でセグメントに簡単にアクセスできます。

于 2012-10-30T22:20:12.703 に答える