跳至內容

作業系統設計/程序/中斷

來自華夏公益教科書,開放書籍,開放世界

許多硬體會向 CPU 傳送中斷訊號。當 CPU 注意到該訊號時,它會執行硬體中斷——CPU 執行上下文切換,儲存有關其正在執行的操作的一些資訊,然後跳到執行與該特定硬體中斷關聯的“中斷處理程式”。例如,當用戶在鍵盤上輸入時,鍵盤會發送一個按鍵中斷。然後,CPU 執行按鍵中斷的程式碼,該程式碼通常會在螢幕上顯示一個字元或執行一個任務。

也許對作業系統設計來說,最重要的中斷是“定時器中斷”,它是由定時器晶片以規律的間隔發出的。

軟體中斷,也稱為處理器生成中斷,是由處理器執行特定指令生成的。常見的處理器生成中斷是除零異常和通用故障或頁面故障異常。軟體中斷會導致上下文切換到一個與硬體中斷類似的中斷處理程式。

一些中斷處理程式軟體可能會重置機器,或者只是顯示錯誤,但大多數中斷處理程式會執行以下三項操作之一

  • 硬體(如影片顯示器)發出訊號,表示已準備好接收下一部分資料,中斷處理程式傳送出下一部分資料,然後返回到被中斷的程序。
  • 硬體(如鍵盤)發出訊號,表示它有一部分資料可用,中斷處理程式讀取該部分資料,然後返回到被中斷的程序。
  • 定時器中斷處理程式執行 OS 排程程式。如果剛剛被中斷的程序已經用完其時間片,並且存在其他可執行的程序,那麼排程程式將“返回”到該其他程序。(稍後,當定時器中斷其他程序時,排程程式將“返回”到此程序)。

進一步閱讀

[編輯 | 編輯原始碼]
華夏公益教科書