将CPU切换到用户模式和内核模式的汇编指令?

时间:2017-06-15 14:19:05

标签: assembly x86 operating-system

根据我的理解,当中断被触发时,CPU将切换到内核模式,当处理中断时,操作系统会将CPU切换回用户模式。

现在我的问题是:

  1. 操作系统如何将CPU切换到用户模式(是什么 使用汇编指令?)。
  2. 是否有将CPU切换到内核的汇编指令 模式,还是仅在中断被触发时才切换到内核模式?

1 个答案:

答案 0 :(得分:1)

  

操作系统如何将CPU切换到用户模式(使用的汇编指令是什么?)。

处理器从中断指令中获得特殊返回。指令的名称因处理器而异,但它们大致相同。 REI,IRET就是例子。

  

是否存在将CPU切换到内核模式的汇编指令,或仅在触发中断时才切换到内核模式?

进程有两种进入内核模式的方法:(1)触发异常或(2)执行特殊指令。例如,

    DIVL2 #0, R0

会让你进入内核模式

 int a = b / 0 ;

进入内核模式的指令因处理器而异,但示例包括CHMK,INT。 i86系列有多种方法可以做到这一点。