唐僧:上節課,我們講了中斷,講到了同步中斷和異步中斷。而其實很多時候,我們將同步中斷,叫做異常。而將異步中斷叫做中斷,所以在沒有特別說明的情況下,一般我們說中斷就是說異步中斷。中斷(異步中斷)又可以分爲可屏蔽中斷和非屏蔽中斷。
悟空:師傅,可屏蔽中斷和非屏蔽中斷又有什麼區別呢?
唐僧:可屏蔽中斷一般是指I/O外設的中斷,這些中斷可以處於兩種狀態:屏蔽狀態、非屏蔽狀態。一旦一個外設的中斷處於屏蔽狀態,控制單元就會忽略它的中斷。
悟空:那麼,師傅,我上節課的最後的問題,你沒有回答,是不是當時我處於屏蔽狀態啊。
唐僧:悟空,上課不要搗蛋。一般只有在危急事件才能引起非屏蔽中斷,非屏蔽中斷是無法屏蔽的,所以只要觸發了,就必然會傳到CPU,系統必須處理。
悟空:師傅,如果不處理非屏蔽中斷,會產生什麼樣的後果?
唐僧:打個比方,如果你現在在開車,突然一個小孩衝到你的車前。這個小孩就是一個非屏蔽中斷事件,如果你不處理,你覺得會有什麼後果呢?
悟空:師傅,我從來不用開車的,我會“筋斗雲”,比開車快多了。師傅,你的課堂上放這麼多木頭人幹什麼啊?
唐僧:最近招生比較難,沒有人來報名,索性讓這些木頭人來一起聽課,位子反正空着也是空着,湊湊人氣。
悟空、八戒、沙僧:……