中斷向量,中斷向量表 ,中斷服務函數

所謂中斷是指CPU在正常執行程序的過程中,由於內部/外部事件的觸發或由程序的預先安排,引起CPU暫時中斷當前正在運行的程序,而轉去執行爲內部/外部事件或程序預先安排的事件的服務子程序,待中斷服務子程序執行完畢後,CPU再返回到被暫時中斷的程序處(斷點)繼續執行原來的程序,這一過程成爲中斷。

中斷向量:中斷的地址的變量;

中斷向量表:中斷類型號與相應中斷源的中斷處理程序入口地址之間的連接表;

中斷服務程序:發送中斷時所執行的中斷代碼

中斷機制

中斷機制是現代計算機系統中的基本機制之一,它在系統中起着通信網絡的作用,以協調系統對各種外部事件的響應和處理,中斷是實現多道程序設計的必要條件,中斷是CPU 對系統發生的某個事件作出的一種反應。引起中斷的事件稱爲中斷源。中斷源向CPU 提出處理的請求稱爲中斷請求。發生中斷時被打斷程序的暫停點稱爲斷點。CPU暫停現行程序而轉爲響應中斷請求的過程稱爲中斷響應。處理中斷源的程序稱爲中斷處理程序。CPU執行有關的中斷處理程序稱爲中斷處理。而返回斷點的過程稱爲中斷返回。中斷的實現由軟件和硬件綜合完成,硬件部分叫做硬件裝置,軟件部分稱爲軟件處理程序。

衆所周知,處理器的速度跟外圍硬件設備的速度往往不在一個數量級上,因此,如果內核採取讓處理器向硬件發出一個請求,然後專門等待迴應的辦法,顯然降低內核效率。

既然硬件的響應這麼慢,那麼內核就應該在此期間處理其他事務,等到硬件真正完成了請求的操作之後,再回過頭來對它進行處理。想要實現這種功能,輪詢(polling)可能會是一種解決辦法。可以讓內核定期對設備的狀態進行查詢,然後做出相應的處理。不過這種方法很可能會讓那個內核做不少無用功,因爲無論硬件設備是正在忙碌着完成任務還是已經大功告成,輪詢總會週期性的重複執行。更好的辦法是由我們來提供一種機制,讓硬件在需要的時候再向內核發出信號(變內核主動爲硬件主動),這就是中斷機制。

中斷使得硬件得以與處理器進行通信。舉個例子,在你敲打鍵盤的時候,鍵盤控制器(控制鍵盤的硬件設備)會發送一箇中斷,通知操作系統有鍵按下。中斷本質是一種特殊的電信號,由硬件設備發向處理器。處理器接受到中斷後,會馬上向操作系統反映此信號的到來,然後就由os負責處理這些新到來的數據。硬件設備生成中斷的時候並不考慮與處理器的時鐘同步——換句話說就是中斷隨時可以產生。因此,內核隨時可能因爲新到來的中斷而被打斷。

不同的設備對應的中斷不同,而每個中斷都通過一個惟一的數字標識。因此,來自鍵盤的中斷就有別於來自硬盤的中斷,從而使得操作系統能夠對中斷進行區分,並知道哪個硬件設備產生了哪個中斷。這樣,操作系統才能給不同的中斷提供不同的中斷處理程序。

在它執行程序的時候,如果有另外的事件發生(比如用戶又打開了一個程序)那麼這時候就需要由計算機系統的中斷機制來處理了。

中斷機制包括硬件的中斷裝置和操作系統的中斷處理服務程序。

讓硬件在需要的時候再向內核發出信號。

早期的微機系統中將由硬件產生的中斷標識碼(中斷源的識別標誌,可用來形成相應的中斷服務程序的入口地址或存放中斷服務程序的首地址)稱爲中斷向量

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章