作業系統中的中斷

2021-10-23 23:18:34 字數 1606 閱讀 5004

中斷是指cpu對系統發生的某個事件做出的一種反應,cpu暫停正在執行的程式,儲存現場後自動去執行相應的處理程式,處理完該事件後再返回中斷處繼續執行原來的程式。。中斷一般三類,一種是由cpu外部引起的,稱為外中斷。如i/o中斷、時鐘中斷,一種是來自cpu內部事件或程式執行中引起的中斷,例如程式非法操作,位址越界、浮點溢位)稱為內中斷,或者(異常,陷入),最後一種是在程式中使用了系統呼叫引起的。而中斷處理一般分為中斷響應和中斷處理兩個步驟,中斷響應由硬體實施,中斷處理主要由軟體實施。

中斷(interruption),也稱外中斷,指來自cpu執行指令以外的事件的發生,如裝置發出的i/o結束中斷,表示裝置輸入/輸出處理已經完成,希望處理機能夠向裝置發下乙個輸入 / 輸出請求,同時讓完成輸入/輸出後的程式繼續執行。時鐘中斷,表示乙個固定的時間片已到,讓處理機處理計時、啟動定時執行的任務等。這一類中斷通常是與當前程式執行無關的事件,即它們與當前處理機執行的程式無關。

異常(陷入),也叫內中斷。是由cpu內部事件所引起的中斷,例如程序在運算中發生了上溢或者下溢,有如程式出錯,如非法指令,位址越界等。通常把這類中斷稱為內中斷或者陷入。若系統發現有陷入事件,cpu也將暫停正在執行的程式,轉去執行該陷入事件的處理程式。

中斷和陷入的主要區別是訊號的**,看是來自cpu外部,還是cpu內部。

另外還有一種是系統呼叫。所謂系統呼叫就是使用者在程式中呼叫作業系統所提供的一些子功能,系統呼叫可以被看做特殊的公共子程式。系統中的各種共享資源都由作業系統統一掌管,因此在使用者程式中,凡是與資源有關的操作(如儲存分配、進行i/0傳輸以及管理檔案等),都必須通過系統呼叫方式向作業系統提出服務請求,並由作業系統代為完成。通常,乙個作業系統提供的系統呼叫命令有幾十乃至上百條之多。

對中斷的處理方式

1. 遮蔽(禁止)中斷

當處理機正在處理乙個中斷時,將遮蔽掉所有的中斷,即處理機對任何新到的中斷請求,都暫時不予理睬,而讓他們等待,直到處理機已完成本次中斷的處理後,處理機再去檢查是否有中斷發生。若有,再去處理新到的中斷,若無,則返回被中斷的程式,在該方法中,所有中斷都按順序依次執行,優點是簡單,不適合用於對實時性要求較高的中斷請求。

2. 巢狀中斷

在設定了中斷優先順序的系統中。通常按這樣的規則來處理中斷。

(1)當同時有多個不同優先順序的中斷請求時,cpu優先響應最高優先順序的中斷請求。

(2) 高優先順序的中斷請求可以搶占正在執行的低優先順序中斷的處理機。

中斷處理程式的處理過程

1. 測定是否有未響應的中斷訊號。

2. 保護被中斷程序的cpu環境。

3. 轉入相應的裝置處理程式。

4. 中斷處理。

5. 恢復cpu的現場並退出中斷。

作業系統 中斷

寫在前面 參考中斷 中斷是指cpu對i o裝置發來的中斷訊號的一種響應。cpu暫停正在執行的程式,保留cpu環境後,自動地去執行該i o裝置的中斷處理程式。執行完後,再回到斷點,繼續執行原來的程式。i o裝置可以是字元裝置,也可以是塊裝置 通訊裝置。由於中斷時由外部裝置引起的,故又稱外中斷。在作業系...

作業系統 中斷

中斷是指計算機在執行期間,系統內發生任何非尋常的或非預期的急需處理事件,使得cpu暫時中斷當前正在執行的程式而轉去執行相應的事件處理程式,待處理完畢後又返回原來被中斷處繼續執行或排程新的程序執行的過程。引起中斷發生的事件被稱為中斷源。中斷源向cpu發出的請求中斷處理訊號稱為中斷請求,而cpu收到中斷...

作業系統 中斷

中斷是改變處理器執行指令順序的一種事件。這樣的事件與cpu晶元內外部硬體電路產生的電訊號相對應。有了中斷後,使cpu可以與其他裝置並行工作,能有效提高cpu的利用率,改善系統效能,支援系統的非同步性。中斷的型別 分為 同步中斷 內部中斷或異常 非同步中斷 外部中斷 1 同步中斷是當指令執行時由cpu...