中斷Interruption 異常Exception
在作業系統中引入核心態和使用者態這兩種工作狀態後,就需要考慮這兩種狀態之間如何切換。作業系統核心工作在核心態,而使用者程式工作在使用者態。但系統不允許使用者程式實現核心態的功能,而它們又必須使用這些功能。因此,需要在核心態建立一些“門”,實現從使用者態進入核心態。在實際作業系統中,CPU運行上層程式時唯一能進入這些“門”的途徑就是通過中斷或異常。
當中斷或異常發生時,運行使用者態的CPU會立即進入核心態,這是通過硬體實現的(例如,用一個特殊寄存器的一位來表示CPU所處的工作狀態,0表示核心態,1表示使用者態。若要進入核心態,只需將該位置0即可)。
中斷是作業系統中非常重要的一個概念,對一個運行在電腦上的實用作業系統而言,缺少了中斷機制,將是不可想象的。 中斷(Interruption)
中斷(Interruption),也稱外中斷,指來自CPU執行指令以外的事件的發生,如: 裝置發出的I/O結束中斷,表示裝置輸入/輸出處理已經完成,希望處理機能夠向裝置發下一個輸入/輸出請求,同時讓完成輸入/輸出後的程式繼續運行。 時鐘中斷,表示一個固定的時間片已到,讓處理機處理計時、啟動定時啟動並執行任務等。
這一類中斷通常是與當前程式運行無關的事件,即它們與當前處理機啟動並執行程式無關。 異常(Exception)
異常(Exception),也稱內中斷、例外或陷入(Trap),指源自CPU執行指令內部的事件,如:
程式的非法作業碼、地址越界、算術溢位、虛存系統的缺頁以及專門的陷入指令等引起的事件。
對異常的處理一般要依賴於當前程式的運行現場,而且異常不能被屏蔽,一旦出現應立即處理。關於內中斷和外中斷的聯絡與區別如圖1-2所示。
圖1-2 內中斷和外中斷的聯絡與區別
Wu_Being部落格聲明:本人部落格歡迎轉載,請標明部落格原文和原連結。謝謝。
《中斷和異常的概念》:
http://blog.csdn.net/u014134180/article/details/78418428
如果你看完這篇博文,覺得對你有協助,並且願意付贊助費,那麼我會更有動力寫下去。