计算机操作系统笔记

计算机状态(内核态,用户态)

用户态->内核态

中断、异常、陷入机制(访管指令)

内核态->用户态

设置程序状态字PSW

访管指令:

int, trap,syscall,sysenter,sysexit

中断和异常(都是事件)

中断的引入(外中断)

为了支持CPU和设备之间的并行操作(IO中断(复制粘贴),时钟中断(定时器,时间片到了),硬件故障(电池没电了,读内存是奇偶校验错误))
比如,CPU启动设备的输入输出之后,可以去做别的事情了,直到设备输入输出完毕采用中断机制通知CPU,让CPU决定如何处理。

异常的引入(内中断)

表示CPU执行指令时本身出现的问题(系统调用,页故障,页错误(缺页中断),保护性异常(权限问题,地址越界),断电指令(调试),程序性异常(算数溢出))
比如算数溢出,除零等,这时强制CPU执行异常处理程序。
计算机操作系统笔记

中断异常机制的工作原理

(软件和硬件相互配合)
硬件:捕获中断源发出的中断异常请求,以一定的方式响应,将控制权转移给特定的程序,每条指令执行周期的最后时刻扫描中断寄存器,查看是否有中断信号。将中断类型转换为PSW中的相应的状态码,之后对照中断向量表执行相应的中断程序。
软件:执行处理异常的程序。

过程

设备发出中断信号-硬件保存现场(PSW,PC。只保存关键的,软件也回保存)-根据中断码查表-把中断处理程序入口地址等推送到相应的寄存器-执行中断处理程序。-(之后是软件)保存相关寄存器信息-分析中断原因-执行相应的处理程序-恢复现场。
软件提前设置好,硬件来执行。