操作系统的中断机制
中断定义
- 指CPU对突发的外部时间的反应过程或机制
- CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作
引入中断的目的
- 实现并发活动
- 实现实时处理
- 实现故障处理
中断源和中断类型
- 引起系统中断的事件,叫做中断源
- 中断类型
- 强迫型中断和自愿型中断
- 强迫型中断:程序没有预期:例如:I/O中断,外部中断
- 自愿中断:程序有预期的。 例如:执行访管指令
- 外中断(中断)和内中断(俘获)
- 外中断:由CPU外部引起 。 例如I/O,外部事情
- 不可屏蔽中断:中断的原因很紧要,CPU必须响应
- 可屏蔽中断:中断的原因不紧要,CPU可以不响应
- 内中断:由CPU内部引起。 例如 访管中断, 程序中断
- 外中断:由CPU外部引起 。 例如I/O,外部事情
- 强迫型中断和自愿型中断
断点
- 程序中断的地方,将要执行的下一指令的__地址__
- CS:IP
现场
- 程序正确运行所依赖的信息合集
- 相关寄存器
现场的两个处理过程
- 现场的保护:进入中断服务程序之前,保存在栈
- 现场的恢复:退出中断服务程序之后,把保存在栈中的数据,pop到寄存器
中断响应过程
- 识别中断源
- 保护断点和现场
- 装入中断服务程序的入口地址(CS:IP)
- 进入到中断服务程序
- 恢复现场和断点 准备运行原来的程序
- 中断返回