中斷概述
中斷的概念
- 中斷來源:指引起中斷的事件或發出中斷請求的來源。
- 中斷請求:中斷來源向CPU發出的請求,要求暫停目前執行的任務並處理緊急任務。
- 斷點:當中斷發生時,被打斷程式的暫停點,即程式暫停的地方。
中斷優先權和中斷屏蔽
中斷優先權
- 中斷優先權是為了使系統能夠及時回應和處理所有中斷事件,系統會根據事件的重要性和緊急程度將中斷源分為不同的等級。
- 一般情況下,中斷優先權的順序由高到低為:
- 硬體故障中斷
- 自願中斷
- 程序性中斷
- 外部中斷
- 輸入輸出中斷
中斷屏蔽
- 中斷屏蔽:為了防止低優先順序的中斷事件處理打斷高優先順序的中斷,電腦系統採用中斷屏蔽技術。根據是否可以屏蔽,中斷分為兩類:
- 不可屏蔽中斷:一旦請求,CPU必須無條件回應。
- 可屏蔽中斷:CPU可以選擇回應或忽略。
中斷的處理方式
-
順序處理方式:
- 在這種方式下,當處理機正在處理一個中斷時,屏蔽所有新的中斷請求,直到當前中斷處理完畢後再檢查是否有新的中斷。如果有新中斷,繼續依序處理。
-
巢狀處理方式:
- 當系統設定了中斷優先權時,多個不同優先權的中斷請求可能同時到達。系統會優先回應最高優先權的中斷請求。
- 高優先權的中斷請求能夠搶佔低優先權的中斷處理,類似於行程調度中的搶佔式調度。
中斷處理過程
- 喚醒被阻塞的驅動進程:
- 當中斷發生時,系統可能需要喚醒某些阻塞的程序來處理資源或完成特定任務。
- 保護被中斷程序的CPU環境:
- 儲存目前程序的狀態(如暫存器值),確保能夠在中斷處理完成後復原程序。
- 轉入對應的設備處理程序:
- 根據中斷來源,跳到對應的裝置處理程序。
- 中斷處理:
- 執行中斷處理程序,處理相關的中斷事件。
- 恢復被中斷程序的現場:
- 中斷處理完成後,恢復原程序的狀態,繼續執行中斷的任務。