早期计算机,各程序只能串行执行,系统资源利用率低。
为了解决上述问题,人民发明了操作系统(作为计算机的管理者),引入中断机制,实现了多道程序并发执行。
本质:发生中断就意味着需要操作系统的介入,开展管理工作。
一、中断的概念和作用
①当中断发生时,CPU立即进入核心态
②当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理。
③对于不同的中断信号,会进行不同的处理
发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换,分配IO设备等)需要使用特权指令,因此CPU会由用户态转变成内核态。中断可以使CPU由用户态转变成内核态。使操作系统获得计算机的控制权。有了中断才能实现多道程序并发执行。
我们曾介绍过,CPU状态分成两种:核心态和用户态, 那么用户态、核心态之间的转换是通过什么来实现的?
用户态->核心态:中断实现,并且中断是唯一的方式。
核心态->用户态:通过执行一个特权指令,将程序状态字(PSW)的标志位置为用户态 。
二、中断的分类

中断的分类
通过”中断信号来自CPU内部/外部"这一点来判断是内中断还是外中断。
内中断亦可分为:陷入(trap),故障(fault)和终止(abort)。分别对应指令中断,硬件故障和软件中断。
三、外中断的处理过程
CPU内部处理应用程序指令队列时,如果中途遇到外部中断信号(例如用户通过键盘输入一个字符)则会按下面步骤进行处理:

中断处理程序
产生中断的每个设备都有一个相应的中断处理程序,一个设备的中断处理程序是它设备驱动程序的一部分。