操作系统(五)中断和异常
1.5 中斷和異常
? ?在上節內核態與用戶態的轉換過程中曾經提到過,操作系統會響應中斷信號強制奪回CPU使用權,使用戶態轉換為內核態。“中斷”是操作系統奪回CPU使用權的唯一方式,如果沒有“中斷”機制,那么一旦應用程序上CPU運行,CPU就會一直運行這個應用程序,其他程序就沒有辦法再使用CPU,這樣的話就不存在并發機制了。一般來說,中斷分為兩種情況即內中斷和外中斷。
目錄
1.5 中斷和異常
1.5.1 內中斷
1.5.2 外中斷
1.5.3 中斷的分類
1.5.1 內中斷
? 內中斷(也稱異常)與當前執行的指令有關,中斷信號來源于CPU內部。比如,當用戶妄圖執行特權指令時,CPU便會產生中斷,由用戶態變為內核態;再比如,當進行除法運算除數為0時同樣會發生錯誤,產生中斷。總的來說,就是當前指令是非法的指令,那么一定會引起中斷。
? 當應用程序想要進行一次系統調用使用內核的服務時,會執行一條陷入(trap)指令,陷入指令會引發一條中斷信號,操作系統就會奪回CPU的使用權,也就是說,執行“陷入指令”,意味著應用程序主動地將CPU控制權還給操作系統內核。
1.5.2 外中斷
? 外中斷與當前執行的指令無關,中斷信號來源于CPU外部。每次在一條指令結束之后CPU都會檢查是否有外中斷信號。比如時鐘信號,或者I/O設備都可以發出外中斷信號。
1.5.3 中斷的分類
? ? 中斷的原理:不同的中斷信號,需要用不同的中斷處理程序來處理。當CPU檢測到中斷信號后,會根據中斷信號的類型去查詢“中斷向量表”,以此來找到相應的中斷處理程序在內存中的存放位置。所以,顯然中斷處理程序一定是內核程序,工作在內核態。
總結
以上是生活随笔為你收集整理的操作系统(五)中断和异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021零售行业营销自由白皮书
- 下一篇: 分享一个B端产品体验报告