唐僧:上节课,我们讲了中断,讲到了同步中断和异步中断。而其实很多时候,我们将同步中断,叫做异常。而将异步中断叫做中断,所以在没有特别说明的情况下,一般我们说中断就是说异步中断。中断(异步中断)又可以分为可屏蔽中断和非屏蔽中断。
悟空:师傅,可屏蔽中断和非屏蔽中断又有什么区别呢?
唐僧:可屏蔽中断一般是指I/O外设的中断,这些中断可以处于两种状态:屏蔽状态、非屏蔽状态。一旦一个外设的中断处于屏蔽状态,控制单元就会忽略它的中断。
悟空:那么,师傅,我上节课的最后的问题,你没有回答,是不是当时我处于屏蔽状态啊。
唐僧:悟空,上课不要捣蛋。一般只有在危急事件才能引起非屏蔽中断,非屏蔽中断是无法屏蔽的,所以只要触发了,就必然会传到CPU,系统必须处理。
悟空:师傅,如果不处理非屏蔽中断,会产生什么样的后果?
唐僧:打个比方,如果你现在在开车,突然一个小孩冲到你的车前。这个小孩就是一个非屏蔽中断事件,如果你不处理,你觉得会有什么后果呢?
悟空:师傅,我从来不用开车的,我会“筋斗云”,比开车快多了。师傅,你的课堂上放这么多木头人干什么啊?
唐僧:最近招生比较难,没有人来报名,索性让这些木头人来一起听课,位子反正空着也是空着,凑凑人气。
悟空、八戒、沙僧:……