中斷和異常

2021-10-21 13:52:00 字數 902 閱讀 9329

解決資源利用率低的問題,引入中斷機制,實現多道程式併發執行的本質;發生中斷就意味著需要作業系統介入,開展管理工作。

當中斷發生後,cpu立即進入核心態

當中斷發生後,當前執行的程序暫停執行,並由作業系統核心對中斷進行處理

對於不同的中斷訊號,會進行不同的處理

發生了中斷,就意味著需要作業系統介入,開展管理工作。由於作業系統的管理工作(比如程序切換,分配i/o裝置等)需要使用特權指令,因此cpu要從使用者態轉為核心態。中斷可以使cpu從使用者態切換為核心態,使作業系統獲得計算機的使用權。有了中斷,才能實現多道程式併發執行。

問題:使用者態,核心態之間的切換是怎麼實現的?

「使用者態→核心態」是通過中斷實現的,並且中斷是唯一途徑。

「核心態→使用者態」的切換是通過執行乙個特權指令,將程式狀態字(psw)的標誌位設定為「使用者態」

第一種分類方式:

自願中斷–指令中斷,如:系統呼叫時使用的訪管指令(又叫陷入指令,trap指令)

強迫中斷

硬體故障,如:缺頁

軟體中斷,如:整數除0

第二種分類方式:

陷阱,陷入(trap),有意而為之的異常,如系統呼叫

故障(fault),有錯誤條件引起的,可能被故障處理程式修復,如缺頁

終止(abort),不可恢復的致命錯誤造成的結果,終止處理程式不再控制返回給引發終止的應用程式,如整數除0

外設請求,如:i/o操作完成發出的中斷訊號

人工干預,如:使用者強行終止乙個程序

執行完每個指令之後,cpu都要檢查當前是否有外部中斷訊號

如果檢測到外部中斷訊號,則需要保護被中斷程序的cpu環境(如程式狀態字psw,程式計數器pc,各種通用暫存器)

根據中斷訊號型別轉入相應的中斷處理程式

恢復原程序的cpu環境並退出中斷,返回原程序繼續往下執行

中斷和異常

中斷和異常 中斷訊號的處理方式 分緊急部分和不緊急部分 中斷處理 必須能夠重入,以便能夠中斷巢狀 中斷和異常的產生 乙個irq interrupt request 代表中斷控制器上的一根中斷線,和乙個中斷向量 單cpu 可程式設計中斷控制器 pic 多cpu 改進的可程式設計中斷控制器 apic 乙...

中斷和異常

中斷通常定義為乙個事件,該事件改變處理器執行的指令順序。中斷通常分為同步中斷與非同步中斷。異常是同步的,i o中斷是非同步的。中斷可以分為 i o裝置發出的中斷請求 irq 都可以被遮蔽,乙個中斷被遮蔽以後,控制單元就忽略他。只有硬體故障等幾個危急事件才是非遮蔽中斷。異常可以分為 可以糾正的異常,例...

中斷和異常

1 中斷機制的誕生 早期計算機,各程式只能序列執行,系統資源利用率低,為了解決這個問題,從而誕生了作業系統 作為計算機的管理者 引入中斷機制,實現了多道程式併發執行。本質 發生中斷就意味著需要作業系統介入,開展管理工作。2 中斷的概念和作用 1 當中斷發生時,cpu立即進入核心態。2 當中斷發生後,...