早起計算機各個程式只能序列執行,系統資源利用率低,。為了解決這個問題,人們就發明了作業系統,引入了中斷機制,實現了多道程式的執行,提高了系統資源的利用率。
中斷是多程式併發執行的前提條件。
程序1在使用者態執行了一段時間後,cpu會接收到計時部件(作業系統核心的時鐘管理部件)發出的中斷訊號,表示程序1已經用完了乙個時間片,cpu會切換到核心態,把cpu的使用許可權交還給作業系統,作業系統核心就會對剛才的中斷進行處理,作業系統知道程序1的時間片用完,就需要切換程序,在完成切換程序的一系列工作後,作業系統又會將cpu的使用權交還給使用者程序。
程序2執行一段時間後,程序2發出系統呼叫(內中斷訊號),請求輸出,主動要求作業系統介入工作,cpu會立即切換到核心態,把cpu的使用許可權交還給作業系統,作業系統核心接管程序2系統呼叫請求,呼叫io裝置開始輸出工作,然後作業系統交還cpu執行權,io裝置也會並行執行,程序2需要等待io操作完成,所以程序1拿到cpu執行權開始執行。當執行一段時間後,io操作完成,io裝置向cpu傳送乙個中斷訊號,此時cpu由使用者態再次轉換為核心態,對剛才的中斷訊號處理,由於io操作完成,所以作業系統知道程序2可以恢復執行了,以完成後續工作,所以作業系統再次交還cpu執行權,讓程序2再次執行。
中斷發生時,cpu立即進入核心態
當中斷發生後,當前的執行的程序暫停執行,並且由作業系統核心對中斷程序處理
對於不同的中斷的訊號,會進行不同的處理。
中斷的本質,發生中斷就意味需要作業系統的介入,開展管理工作。
當發生了中斷,就意味著需要作業系統的介入,開展管理工作,由於作業系統的管理工作(如程序切換,分配io裝置)需要使用特權指令。因此cpu要從使用者態轉入到核心態,
使用者態到核心態的轉換就是通過中斷機制實現的,並且中斷是唯一的途徑。
分為內中斷和外中斷。
內中斷,內中斷訊號來自於cpu內部,與當前執行的指令有關,比如整數除0
外中斷,外中斷的訊號**於cpu外部,與當前執行的指令無關,如使用者強制結束乙個程序,io裝置完成操作發生的中斷訊號。
1)執行完每個指令後,cpu都要檢查當前是否有外部中斷訊號。
2)如果檢測到外部中斷訊號,則需要保護被中斷程序的cpu環境(如程式狀態字psw,程式計數器,各種通用暫存器)
3)根據中斷訊號型別轉入相應的中斷處理程式
4)恢復程序的cpu環境並退出中斷,返回原程序繼續往下執行
(1) 中斷是為了實現多道程式併發執行而引入的一種技術。
(2) 中斷的本質就是發生中斷時需要作業系統介入開展管理工作。
(3) 發生cpu會立即進入核心態,針對不同的中斷訊號,採取不同的處理方式。
(4) 中斷是cpu從使用者態進入核心態的唯一途徑。
(5) 中斷分為內中斷和外中斷。
(6) 程序中斷時,作業系統會儲存cpu的執行環境,如程式狀態字(psw)、程式計數器、各種通用暫存器,這是為了當程序再次執行時可以從中斷的狀態處繼續執行。
作業系統
作業系統 中斷
寫在前面 參考中斷 中斷是指cpu對i o裝置發來的中斷訊號的一種響應。cpu暫停正在執行的程式,保留cpu環境後,自動地去執行該i o裝置的中斷處理程式。執行完後,再回到斷點,繼續執行原來的程式。i o裝置可以是字元裝置,也可以是塊裝置 通訊裝置。由於中斷時由外部裝置引起的,故又稱外中斷。在作業系...
作業系統 中斷
中斷是指計算機在執行期間,系統內發生任何非尋常的或非預期的急需處理事件,使得cpu暫時中斷當前正在執行的程式而轉去執行相應的事件處理程式,待處理完畢後又返回原來被中斷處繼續執行或排程新的程序執行的過程。引起中斷發生的事件被稱為中斷源。中斷源向cpu發出的請求中斷處理訊號稱為中斷請求,而cpu收到中斷...
作業系統 中斷
中斷是改變處理器執行指令順序的一種事件。這樣的事件與cpu晶元內外部硬體電路產生的電訊號相對應。有了中斷後,使cpu可以與其他裝置並行工作,能有效提高cpu的利用率,改善系統效能,支援系統的非同步性。中斷的型別 分為 同步中斷 內部中斷或異常 非同步中斷 外部中斷 1 同步中斷是當指令執行時由cpu...