操作系統的終端異常機制

一、中斷/異常機制

中斷/異常: 對於操作系統的重要性就好比汽車的發動機

操作系統是由“中斷驅動”或者“事件驅動”的

        主要作用:

1.及時處理設備發來的中斷請求

2.可使OS捕獲用戶程序提出的服務請求

3.防止用戶程序執行過程中的破壞性活動

4.等等

引入的原因:

1.中斷的引入:爲了支持CPU和設備之間的並行操作 

2.異常的引入:表示CPU執行指令時本身出現的問題(算術溢出。地址越界等)

二、中斷/異常的概念

1.CPU對系統發生的某個事件作出的一種反應

2.CPU暫停正在執行的程序,保留現場後自動轉去執行相應事件的處理程序,處理完成後返回斷點,繼續執行被打斷的程序。

        注意:

 1.事件的發生改變了處理器的控制流

2.特點:是隨機發生的;是自動處理的;是可恢復的

三、事件

中斷:外部事件,正在運行的程序所不期望的

異常:由正在執行的指令引發的

  • 中斷(外中斷):I/O中斷;時鐘中斷;硬件中斷                                                                            
  • 異常(內中斷):系統調用;頁故障/頁錯誤;保護性異常;斷點指令;其他程序性異常
四、中斷異常的對比和區別:


五、中斷異常機制的工作原理 

中斷/異常機制是現代計算機系統的核心機制之一

硬件和軟件的相互配合使計算機系統得以充分的發揮能力

  • 硬件的任務——中斷/異常的響應

捕獲中斷源發出的中斷/異常請求,以一定的方式響應,將處理器的控制權交給特定的處理程序。

  • 軟件的任務——中斷/異常處理程序
識別中斷/異常類型並完成相應的處理

5.1.  中斷響應

中斷響應: 發現中斷、接收中斷的過程,有中斷硬件部件完成。

處理器控制部件中設有中斷寄存器

  中斷先用過程示意圖 


5.2. 中斷向量表

中斷向量: 一個內存單元、存放中斷處理程序的入口地址和程序運行所需的處理機狀態字


執行流程按中斷/異常類型的不同,通過中斷向量錶轉移控制權給中斷處理程序。


中斷響應示意圖


5.3. 中斷處理程序

1.設計操作系統時,爲每一類中斷/異常時間編好相應的處理程序,並設置好中斷向量表

2.系統運行時若相應中斷,中斷硬件不見將CPU控制權轉給中斷處理程序:

    • 保存相關寄存器信息
    • 分析中斷/異常的具體原因
    • 執行對應的處理功能
    • 恢復現場,返回被事件打斷的程序
其實:軟件提前設置好,硬件部件來執行。

6.例子



I/0中斷處理程序(軟件控制)




發佈了29 篇原創文章 · 獲贊 12 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章