1. 程式人生 > >程式設計菜鳥到大佬之路:計算機作業系統(六)

程式設計菜鳥到大佬之路:計算機作業系統(六)

處理器管理

中斷

中斷的概念

  • 中斷是指程式執行過程中, 遇到急需處理的事件時, 暫時中止CPU上現行程式的執行,轉去執行相應的事件處理程式, 待處理完成後再返回原程式被中斷處或排程其他程式執行的過程

  • 作業系統是“中斷驅動” 的; 換言之, 中斷是啟用作業系統的唯一方式

  • 中斷有廣義和狹義之分, 上述中斷是指廣義的中斷。

  • 狹義的中斷指來源於處理器之外的中斷事件,即與當前執行指令無關的中斷事件, 如I/O中斷、 時鐘中斷、 外部訊號中斷等。

異常與系統異常

  • 異常指當前執行指令引起的中斷事件, 如地址異常、 算術異常、 處理器硬體故障等

  • 系統異常指執行陷入指令而觸發系統呼叫引起的中斷事件, 如請求裝置、 請求I/O、 建立程序等

中斷源 –處理器硬體故障中斷事件

  • 由處理器、 記憶體儲器、 匯流排等硬體故障引起。

    • 處理原則為: 保護現場, 停止裝置, 停止CPU, 向操作員報告, 等待人工干預。
  • 中斷源-程式性中斷事件

    • 處理器執行機器指令引起
      • 除數為零、 運算元溢位等算術異常: 簡單處理, 報告使用者; 也可以由使用者編寫中斷 續元程式處理。
      • 非法指令、 使用者態使用特權指令、 地址越界、 非法存取等指令異常: 終止程序。
      • 終止程序指令: 終止程序。
      • 虛擬地址異常: 調整記憶體後重新執行指令。
  • 中斷源-自願性中斷事件

    • 處理器執行陷入指令請求OS服務引起; 在作業系統中, 它一般又被稱作系統呼叫。
      • 請求分配外設、 請求I/O等。
      • 處理流程是: 陷入OS, 保護現場, 根據功能號查入口地址, 跳轉具體處理程式。
  • 中斷源-I/O中斷事件

    • 來源於外圍裝置報告I/O狀態的中斷事件
      • I/O完成: 調整程序狀態, 釋放等待程序。
      • I/O出錯: 等待人工干預。
      • I/O異常: 等待人工干預。
  • 中斷源-外部中斷事件

    • 由外圍裝置發出的訊號引起的中斷事件
      • 時鐘中斷、 間隔時鐘中斷: 記時與時間片處理。
      • 裝置報到與結束中斷: 調整裝置表。
      • 鍵盤/滑鼠訊號中斷: 根據訊號作出相應反應。
      • 關機/重啟動中斷: 寫回檔案, 停止裝置與CPU。