中断的产生
中断是多程序并发执行的前提条件
(1)当中断发生时, CPU立即进入核心态
(2)当中断发生后, 当前运行的程序暂停运行, 并由操作系统内核对中断进程处理
(3)对于不同的中断信号, 会进行不同的处理
中断的本质
发生中断就意味着需要操作系统介入,开展管理工作
用户态到核心态的转换就是通过中断机制实现的, 并且中断是唯一的途径
核心态向用户态切换时通过执行一个特权指令, 将程序状态字(PSW)标志位设置为用户态
中断的分类
内中断:内中断的信号来源于CPU内部、与当前执行的指令有关。如整数除0。 外中断:外中断的信号来源于CPU外部、与当前执行的指令无关。如用户强制结束一个进程、IO设备 完成操作发生的中断信号。
中断的处理过程
(1)执行完每个指令后, CPU都要检查当前是否有外部中断信号。
(2)如果检测到外部中断信号, 则需要保护被中断的进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)。
(3)根据中断信号类型转入相应的中断处理程序。
(4)恢复进程的CPU环境并退出中断, 返回原进程继续往下执行。