CPU が X86 でカーネル モードからユーザー モードに切り替わるタイミングと方法: 正確には何をしますか? この移行はどのように行われますか?
1436 次
2 に答える
6
CS
x86 保護モードでは、CPU が実行している現在の特権レベルは、レジスタの最下位 2 ビット(RPL
セグメント セレクタのフィールド) によって制御されます。
したがって、カーネル モード (CPL=0)
からユーザー モード( への切り替え)CPL=3)
は、カーネル モードの CS 値をユーザー モードの CS 値に置き換えることによって実現されます。これを行うには多くの方法がありますが、典型的な方法の 1 つは、IRET
をポップしEIP
、CS
からEFLAGS
登録する命令です。スタック。
于 2012-11-07T02:59:47.527 に答える
2
iret
たとえば、これを行います。こちらのコードを参照してください(INTERRUPT_RETURN マクロ)
于 2012-11-06T09:29:39.777 に答える