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