中断能否被中断
一、中断的含义
首先我们要知道计算机的中断机制是一个什么意思。
广义上的程序中断指的是在计算机执行现行程序时,出现某些急需处理的异常情况或者特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或者特殊请求进行处理,在处理完毕以后CPU又自动返回到现行程序的断点处。
在狭义上,我们平时说的中断指的是来自CPU执行指令以外的事情发生,比如设备发出的I/O结束中断,时钟中断,表示一个固定的时间片已到等,这类中断是与当前指令无关的事件。
断点指的就是中断发生时本来应该要执行的下一条指令。我们知道,对于不同种类的中断源,计算机内部有相应的中断向量表存放对应的中断服务程序入口地址。那么也就意味着在中断处理时,计算机也是在执行一个程序,那么按照定义来说,中断是可以被中断的。
二、中断的分类
这里我们先了解一下中断的分类。
根据中断源的类别,广义上的中断可以分为内中断和外中断。内中断指源自CPU执行指令内部的事件,如地址非法,缺页或者用户程序执行特权指令等,它还有一个耳熟能详的名字,异常;而外中断指的是来自CPU执行指令以外的事情发生,这也是我们通常说的中断。
而根据如何产生中断,中断(广义上)又分为硬件中断和软件中断。硬件中断指的是通过外部的硬件产生的中断,很明显,