CPU 何时以及如何在 X86 上从内核模式切换到用户模式:它到底做了什么?它是如何实现这种转变的?
问问题
1436 次
2 回答
6
在 x86 保护模式下,CPU 正在执行的当前特权级别由CS
寄存器的两个最低有效位(RPL
段选择器的字段)控制。
因此,从内核模式 (CPL=0)
到用户模式 ( ) 的切换CPL=3)
是通过用用户模式的值替换内核模式的 CS 值来完成的。有很多方法可以做到这一点,但一种典型的方法是IRET
弹出EIP
,CS
并EFLAGS
从堆。
于 2012-11-07T02:59:47.527 回答
2
iret
例如这样做。请参阅此处的代码(INTERRUPT_RETURN 宏)
于 2012-11-06T09:29:39.777 回答