相信你們都知道很是著名的兩個名詞:異常和中斷,不過,你真的理解這兩個名詞在說什麼嗎?它們之間有什麼區別呢?學習
1.中斷spa
你們都知道,當咱們在敲擊鍵盤的同時就會產生中斷,當硬盤讀寫完數據以後也會產生中斷,因此,咱們須要知道,中斷是由硬件設備產生的,而它們從物理上說就是電信號,以後,它們經過中斷控制器發送給CPU,接着CPU判斷收到的中斷來自於哪一個硬件設備(這定義在內核中),最後,由CPU發送給內核,有內核處理中斷。下面這張圖顯示了中斷處理的流程:設計
2.異常進程
咱們在學習《計算機組成原理》的時候會知道兩個概念,CPU處理程序的時候一旦程序不在內存中,會產生缺頁異常;當運行除法程序時,當除數爲0時,又會產生除0異常。因此,你們也須要記住的是,異常是由CPU產生的,同時,它會發送給內核,要求內核處理這些異常,下面這張圖顯示了異常處理的流程:內存
3.異同同步
相同點:原理
1> 最後都是由CPU發送給內核,由內核去處理硬件
2> 處理程序的流程設計上是類似的程序
不一樣點:im
1> 產生源不相同,異常是由CPU產生的,而中斷是由硬件設備產生的
2> 內核須要根據是異常仍是中斷調用不一樣的處理程序
3> 中斷不是時鐘同步的,這意味着中斷可能隨時到來;異常因爲是CPU產生的,因此,它是時鐘同步的
4> 當處理中斷時,處於中斷上下文中;處理異常時,處於進程上下文中