ron*_*y_t 5 x86 assembly operating-system
根据我的理解,当中断被触发时,CPU 会切换到内核态,而当中断被处理时,操作系统会将 CPU 切换回用户态。
现在我的问题是:
操作系统如何将CPU切换到用户模式(使用的汇编指令是什么?)。
处理器有特殊的中断返回指令。指令的名称因处理器而异,但它们都执行大致相同的操作。REI、IRET 就是例子。
是否有汇编指令可以将 CPU 切换到内核模式,或者只有在触发中断时才会切换到内核模式?
进程进入内核模式有两种方法:(1)触发异常或(2)执行特殊指令。例如,
DIVL2 #0, R0
Run Code Online (Sandbox Code Playgroud)
会让你进入内核模式
int a = b / 0 ;
Run Code Online (Sandbox Code Playgroud)
进入内核模式的指令因处理器而异,但示例包括 CHMK、INT。i86 系列有多种方法可以实现这一点。