什么是中断?
中断是指CPU在执行当前程序时系统出现了某种状况,使得CPU必须停止当前程序,而去执行另一段程序来处理出现的状况,处理结束后CPU再返回到原来暂停的程序中继续执行。
中断可以提高操作系统运行的效率,有了中断系统才能并发运行。可以化主动为被动,避免CPU轮询等待某条件成立。
中断的本质
本质:发生中断就意味着需要操作系统介入,开展管理工作。
中断的分类
内部中断(软中断,异常):内中断的信号来源于CPU内部、与当前执行的指令有关。
软中断:是由软件产生的中断。
异常:异常是另外一种内部中断,是指令执行期间CPU内部产生的错误引起的。
故障:故障是引起故障的指令被执行,但还没有执行结束时,CPU检测到的一类意外事件。故障可以修正,如果修复成功,将返回到当前正在执行的指令,重新执行。否则将终止故障程序。
陷阱:是一种有意的,预先安排的异常事件,一般都是写程序时故意编写的陷阱程序,而后执行到陷阱指令,CPU将会调用特定程序进行相应的处理,处理结束后返回到陷阱指令的下一个指令。
终止:由不可恢复的知名错误造成,处理器会终止应用程序。
外部中断: 外中断的信号来源于CPU外部、与当前执行的指令无关。
可屏蔽中断:由中断能力的外部设备(如硬盘,打印机,I/O设备等)发出,此类中断不会影响系统运行,可随时处理,甚至不处理。
不可屏蔽中断:是通过软件调用的中断以及由执行指令过程中产生的异常。通过NMI(CPU的引脚)线向CPU请求的中断(如硬件线路故障等)。其中不可屏蔽不是不可以屏蔽,是因为问题太大,屏蔽不了,不能屏蔽的意思。