中断
定义
程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程。
操作系统是“中断驱动”的,中断是激活操作系统的
唯一方式。
分类
-
外中断
由 CPU 执行指令以外的事件引起,如 I/O 完成、时钟中断、控制台中断等。
-
异常
由 CPU 执行指令的内部事件引起,如非法操作码、地址越界、算术溢出等。
-
陷入
在用户程序中使用系统调用。
系统处理流程
- 保护CPU现场
- 分析中断原因
- 转入中断处理程序进行处理
- 恢复CPU现场,继续执行
中断屏蔽
含义:当计算机检测到中断时,中断装置通过中断屏蔽位决定是否响应已发送的中断
中断的嵌套处理
当计算机响应中断后,在中断处理过程中,可以再响应其他中断
考虑系统效率和实现代价问题,中断的嵌套处理应限制在一定层数内,如三层
中断的嵌套处理改变中断处理次序,先响应的有可能后处理