1.中断机制的诞生
为了解决早期计算机资源利用率低的的问题,人们发明了操作系统,引入了中断机制,实现多道程序并发执行。
本质:发生了中断也就意味着需要操作系统介入,展开管理工作。CPU 收到计时部件发送的中断信号,切换为内核态,操作系统负责处理中断。
2.中断的概念和作用
- 当中断发生时,CPU 立即进入核心态。
- 当中断发生后,当前运行的进程暂停执行,并由操作系统内核对中断进行处理。
- 对于不用的中断信号,会进行不同的处理。
中断可以使 CPU 从用户态切换为核心态,使操作系统获得计算机的控制权。有了终端,才能够实现多道程序并发执行。只有在核心态操作系统才能够执行特权指令。从用户态切换到核心态是通过中断实现的,并且是唯一的途径。
3.中断的分类
中断(广义上的):
内中断(也称异常,例外,陷入)
信号来源:CPU内部,与当前执行的指令有关。
自愿中断——指令中断(系统中断)
强迫中断——硬件故障或软件中断
外中断(狭义上的中断)
信号来源:CPU外部与但钱执行的指令无关。
外设请求
人工干预
另一种分类方式:
4.外部中断的处理过程
- 每条指令执行结束后,CPU 检查是否有外部中断信号
- 若有外部中断信号,则需要保护中断进程的 CPU 环境
- 根据中断信号类型转入相应的中断处理程序
- 恢复原进程的 CPU 环境并推出中断,返回原进程继续往下执行