![](https://i-blog.csdnimg.cn/blog_migrate/f04f07f3b3d2da7afbabf088a64f4bcc.png)
中断机制的诞生
单道批处理系统中程序只能串行的执行,计算机依次只能执行一个程序,只有当前运行的程序结束后其它程序才能够执行,程序独占处理机,吞吐量低,为了解决以上问题,人们发明了批处理操作系统,引入中断机制,实现了多道程序并发执行
本质:只要发生了中断就意味着需要操作系统介入,开展管理工作。对中断的处理大致为:CPU收到计时部件发出的中断信号,切换为核心态,操作系统对中断进行处理–>操作系统内核负责对中断信号进行处理–>如果当前进程时间片用完就切换下一个进程–>切换回用户态继续执行进程
中断的概念和作用
1.当中断发生时,CPU立即进入核心态
2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.对于不同的中断信号,会进行不同的处理
发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。
用户到和核心态的切换是通过中断实现的,并且中断是唯一途径。
核心态到用户态的切换只需要通过执行一个特权指令,将程序状态字(PSW)的标志位设置为用户态
中断的分类
中断的广义分类
![](https://i-blog.csdnimg.cn/blog_migrate/bbd8aaafcd2e7654d1a842bc6639ea65.png)
另一种分类方式
![](https://i-blog.csdnimg.cn/blog_migrate/b18038e8e26cf1a051da68dc199c756a.png)
外中断的处理过程
Step 1:执行完每个指令之后,CPU都要检查当前是否有外部中断信号
Step 2:如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)
Step 3:根据中断信号类型转入相应的中断处理程序
Step 4:恢复原进程的CPU环境并退出中断,返回原进程继续往下执行