計算機中斷理解

2021-10-06 03:22:27 字數 1189 閱讀 3170

一.什麼是中斷

計算機中斷——顧名思義,就是計算機由於遇到一些緊急情況,中斷現在的工作,轉而

處理緊急情況,處理完緊急情況以後再回到以前執行的工作繼續執行。不過這只是狹義的計

算機中段概念。因為這個概念只能解釋內部中斷和外部中斷,然而對於軟體中斷卻不能套用

次概念。

為了讓我們更加方便的理解中斷這個概念,然我們打個比方:假設你在上網,突然你的

朋友要你去踢足球,這就是中斷請求。然後你對他喊道:「我就來!等一等!」這就是中斷

響應。接著你就和他踢足球去了,這就是中斷處理。踢完足球以後,你再回到你的計算機前

面接著上網,這就叫做中斷返回。從以上可以看出,中斷分為4個步驟:中斷請求->中斷響

應->中斷處理->中斷返回。

以下我都會以這個例子為基礎闡述我對於中斷的理解。

首先讓我們對中斷分一分類。有一種分類情況:1.可遮蔽中斷 2.不可遮蔽中斷。

所謂可屏障中斷很好理解,以那個例子為例。你的朋友叫你踢足球,但是你可能正在和

你心儀的美眉聊得正開心,於是你不響應這個中斷,那麼這個中斷就是可遮蔽中斷。

假如中斷你的不是這件事,而是叫你去領獎金,過期不侯,那麼你是無論如何也要相應

這個中斷了。這就是不可遮蔽中斷。

一般來說,像什麼嚴重情況產生的中斷一般都是非可遮蔽中斷,比如:電源掉電等等。

可遮蔽中斷和非可遮蔽中斷對應著cpu的兩根針,是嚴格區分的。

還有一種中斷分類方法:內部中斷、外部中斷、軟體中斷。

內部中斷是cpu自己發生異常產生的中斷。其中最重要的是「除0中斷」和「溢位中斷」

。大家都知道,除數是不能為0的,如果在cpu的執行過程**現了這種情況的話,那麼就會

產生乙個中斷,由系統自動執行,由於中斷號為「0」,所以也叫0號中斷;溢位中斷是在cpu的運算過程中產生溢位,由應用程式執行。溢位這個概念比較複雜,需要一定的計算機編碼

知識,不在這兒的討論之列。

外部中斷是計算機的外部裝置給cpu的中斷請求,例如:時鐘、鍵盤、滑鼠等等。這些中

斷都是可以遮蔽的。我們在鍵盤上輸入了『a』,結果在螢幕上顯示出來了,這都是中斷的功

勞。軟體中斷就是應用程式提出的中斷了,是不可能被遮蔽的。每乙個軟體中斷都對應乙個

標準的功能,如:在螢幕上顯示乙個字串,準備從鍵盤接受乙個字元等等。

最後我們回到 irq 號,為什麼中斷要編號,因為只有編號,cpu才知道向cpu提出的是什麼。

計算機中斷與異常總結

軟體產生的中斷 異常源異常分類 不可遮蔽中斷 nmi 開啟和關閉中斷 8259a產生中斷 中斷和異常是一些提示性事件,這些事件表明系統 處理器或者當前執行程式或任務存在著某種狀況,需要處理器注意。典型情況下,中斷是在程式執行期間隨機發生的,是對硬體訊號的響應。系統硬體使用中斷去處理處理器的外部事件,...

計算機中的contex理解

1 其實簡單的說就是跟當前主題有關的所有內容。2 如說到程式的上下文,就是當前這段程式之上和之下的程式段。因為有些變數 函式不一定都定義在一起,而且乙個程式段不是一行就能寫完,之間有有很多的聯絡。就像看英語閱讀或者 等都需要前後理解的。3 而 裝置上下文 the device context 是一種...

計算機中斷(轉貼,很經典的解釋)

熟悉windows的人都知道,在系統設定中,幾乎沒有硬體都涉及到一些irq號,這些irq號 是什麼意思呢?irq interupt request 中斷請求號。什麼是計算機中斷?計算機中斷 顧名思義,就是計算機由於遇到一些緊急情況,中斷現在的工作,轉而 處理緊急情況,處理完緊急情況以後再回到以前執行...