中断
1.当中断发生时,立即进入核心态
2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.对于不同的中断信号,会进行不同的处理
中断可以使用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。
中断是唯一可以实现从用户态转化为核心态的途径。
中断分类
1.内中断(也称异常、例外、陷入) 信号来源:CPU内部,与当前执行的指令有关
1)自愿中断——指令中断
2)强迫中断
a.硬件故障
b.软件中断
另一种分类方式:
1)陷阱、陷入:故意设置的
2)故障:可以被修复的,如缺页
3)终止:不可以被修复的,比如除以0
2.外中断(又称中断,狭义的中断) 信号来源:CPU外部,与当前执行的指令无关
1)外设请求
2)人工干预
外中断的处理过程:
1.每条指令执行结束后,CPU检查是否有外部中断信号
2.若有外部中断信号,则需要保护被中断进程的CPU环境
3.根据中断信号类型转入相应的中断处理程序
4.恢复原进程的CPU环境并退出中断,返回原进程继续往下执行