中斷機制

中斷機制,中斷使得硬體得以與處理器進行通信。

中斷機制
linux核心要對連線到計算機上的所有硬體設備進行管理,這是它份內的工作。而想要管理這些設備,首先要能和它們互通音信才行。眾所周知,處理器的速度跟外圍硬體設備的速度往往不在一個數量級上,因此,如果核心採取讓處理器向硬體發出一個請求,然後專門等待回應的辦法,顯然差強人意。
既然硬體的回響這么慢,那么核心就應該在此期間處理其他事務,等到硬體真正完成了請求的操作之後,再回過頭來對它進行處理。想要實現這種功能,輪詢(polling)可能會是一種解決辦法。可以讓核心定期對設備的狀態進行查詢,然後做出相應的處理。不過這種方法很可能會人那個核心做不少無用功,因為無論硬體設備是正在忙碌著完成任務還是已經大功告成,輪詢總會周期性的重複執行。更好的辦法是由我們來提供一種機制,讓硬體在需要的時候再向核心發出信號(變核心主動為硬體主動),這就是中斷機制。
中斷使得硬體得以與處理器進行通信。舉個例子,在你敲打鍵盤的時候,鍵盤控制器(控制鍵盤的硬體設備)會傳送一個中斷,通知作業系統有鍵按下。中斷本質是一種特殊的電信號,由硬體設備發向處理器。處理器接受到中斷後,會馬上向作業系統反映此信號的到來,然後就由os負責處理這些新到來的數據。硬體設備生成中斷的時候並不考慮與處理器的時鐘同步——換句話說就是中斷隨時可以產生。因此,核心隨時可能因為新到來的中斷而被打斷。
不同的設備對應的中斷不同,而每箇中斷都通過一個惟一的數字標識。因此,來自鍵盤的中斷就有別於來自硬碟的中斷,從而使得作業系統能夠對中斷進行區分,並知道哪個硬體設備產生了哪箇中斷。這樣,作業系統才能給不同的中斷提供不同的中斷處理程式。
在它執行程式的時候,如果有另外的事件發生(比如用戶又打開了一個程式)那么這時候就需要由計算機系統的中斷機制來處理了。
中斷機制包括硬體的中斷裝置和作業系統的中斷處理服務程式。
讓硬體在需要的時候再向核心發出信號

相關詞條

相關搜尋

熱門詞條

聯絡我們