【操作系统】中断

Posted by ShawnD on February 22, 2020

中断的产生

中断是多程序并发执行的前提条件

(1)当中断发生时, CPU立即进入核心态

(2)当中断发生后, 当前运行的程序暂停运行, 并由操作系统内核对中断进程处理

(3)对于不同的中断信号, 会进行不同的处理

中断的本质

发生中断就意味着需要操作系统介入,开展管理工作

用户态到核心态的转换就是通过中断机制实现的, 并且中断是唯一的途径

核心态向用户态切换时通过执行一个特权指令, 将程序状态字(PSW)标志位设置为用户态

中断的分类

内中断:内中断的信号来源于CPU内部、与当前执行的指令有关。如整数除0。 外中断:外中断的信号来源于CPU外部、与当前执行的指令无关。如用户强制结束一个进程、IO设备 完成操作发生的中断信号。

中断的处理过程

(1)执行完每个指令后, CPU都要检查当前是否有外部中断信号。

(2)如果检测到外部中断信号, 则需要保护被中断的进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)。

(3)根据中断信号类型转入相应的中断处理程序。

(4)恢复进程的CPU环境并退出中断, 返回原进程继续往下执行。