中斷和異常的再總結
@(os)
內部異常(內中斷)
故障(fault)
自陷(trap)
終止(abort)
是源自cpu執行指令內部的事件。如:非法操作碼,位址越界,算術溢位,虛存系統的缺頁,陷入指令等引起的事件。內部異常不可被遮蔽,一旦出現立馬處理。
外中斷:來自cpu執行指令以外的事件。如:i/o中斷,時鐘中斷等。
在作業系統層次上,我們多聽到「異常」(exception)而少見「中斷」(interrupt),且往往籠統地稱其為異常,但處理器微體系結構規範通常會區分中斷和異常。
一般而言,中斷是非同步的,異常是同步的,所謂同步和非同步的概念,又與我們網路通訊或函式呼叫中的同步非同步有所不同。中斷是來自處理器外部的i/o裝置的訊號的結果,它不是由指令流中某條指令執行引起的,從這個意義上講,它是非同步的,是來自指令流之外的。
異常又分為三類:陷阱(trap)、故障(fault)和終止(abort),它們都是執行當前指令流中的某條指令的結果,是來自指令流內部的,從這個意義上講它們都是同步的。
陷阱是有意而為之的異常,是明知有套還往裡鑽——人家要的就是這個結果,其最常見的用途就是作業系統的系統呼叫。
故障是由錯誤條件引起的,可能被故障處理例程修復。如果可以修復,則啥事兒沒有,繼續幹活;如果不能修復則會轉化為終止,並進入下一步。常見的故障如缺頁。
中斷和異常的再總結
os 內部異常 內中斷 外中斷 來自cpu執行指令以外的事件。如 i o中斷,時鐘中斷等。在作業系統層次上,我們多聽到 異常 exception 而少見 中斷 interrupt 且往往籠統地稱其為異常,但處理器微體系結構規範通常會區分中斷和異常。一般而言,中斷是非同步的,異常是同步的,所謂同步和非...
中斷和異常
中斷和異常 中斷訊號的處理方式 分緊急部分和不緊急部分 中斷處理 必須能夠重入,以便能夠中斷巢狀 中斷和異常的產生 乙個irq interrupt request 代表中斷控制器上的一根中斷線,和乙個中斷向量 單cpu 可程式設計中斷控制器 pic 多cpu 改進的可程式設計中斷控制器 apic 乙...
中斷和異常
中斷通常定義為乙個事件,該事件改變處理器執行的指令順序。中斷通常分為同步中斷與非同步中斷。異常是同步的,i o中斷是非同步的。中斷可以分為 i o裝置發出的中斷請求 irq 都可以被遮蔽,乙個中斷被遮蔽以後,控制單元就忽略他。只有硬體故障等幾個危急事件才是非遮蔽中斷。異常可以分為 可以糾正的異常,例...