文章目录
- 总览
- 预备知识:程序是如何运行的?
- 内核程序vs应用程序
- 特权指令vs非特权指令
- 内核态vs用户态
- 用户态,内核态的切换
- 小结
总览
预备知识:程序是如何运行的?
转换为机器码放入内存,然后按顺序执行
内核程序vs应用程序
应用程序跑在内核上
操作系统包括内核和其他程序(如GUI)
特权指令vs非特权指令
内核态vs用户态
区分指令是特权还是应用,然后还要判断当前状态
用户态,内核态的切换
CPU如果判断指令类型为特权指令,而当前态为用户态,会发出中断信号,硬件自动完成变态。然后转为内核态并处理中断,处理完后再转为用户态返回到原程序或者其他程序
小结
只有内核程序才能使用特权指令,只有处理器处于内核态才能执行内核程序和特权指令