发生中断就意味着需要操作系统介入,开展管理工作。
- 中断发生时,CPU立即从用户态进入核心态(中断是唯一途径),得到计算机的控制权
- 中断发生后,当前程序暂停执行,并由操作系统内核对中断进行处理
- 对于不同的中断信号,会进行不同的处理
核心态到用户态的切换:通过执行特权指令,将程序状态字PSW改为用户态。
中断的分类
内中断
信号来源是CPU内部,和当前执行的指令有关
- 自愿中断:指令中断
- 强迫中断
a. 硬件中断:缺页
b. 软件中断:除0
外中断(狭义的中断)
信号来自CPU外部,和当前执行指令无关
- 外设请求:IO操作完成发回的中断信号
- 人工干预
外中断的处理过程
- 用户态挨个执行指令,执行完每个指令都会检查是否有外部中断信号进来
- 检测到外部中断信号,保护被中断进程的CPU环境
- 根据中断信号类型转入相应中断处理程序
- 恢复原进程的CPU环境,返回原进程继续执行
网友评论