中斷和異常的概念

在操作系統中引入核心態用戶態這兩種工作狀態後,就需要考慮這兩種狀態之間如何切換。操作系統內核工作在覈心態,而用戶程序工作在用戶態。但系統不允許用戶程序實現核心態的功能,而它們又必須使用這些功能。因此,需要在覈心態建立一些“門”,實現從用戶態進入核心態。在實際操作系統中,CPU運行上層程序時唯一能進入這些“門”的途徑就是通過中斷或異常

當中斷或異常發生時,運行用戶態的CPU會立即進入核心態,這是通過硬件實現的(例如,用一個特殊寄存器的一位來表示CPU所處的工作狀態,0表示核心態,1表示用戶態。若要進入核心態,只需將該位置0即可)。

中斷是操作系統中非常重要的一個概念,對一個運行在計算機上的實用操作系統而言,缺少了中斷機制,將是不可想象的。

中斷(Interruption)

中斷(Interruption),也稱外中斷,指來自CPU執行指令以外的事件的發生,如:

  • 設備發出的I/O結束中斷,表示設備輸入/輸出處理已經完成,希望處理機能夠向設備發下一個輸入/輸出請求,同時讓完成輸入/輸出後的程序繼續運行。
  • 時鐘中斷,表示一個固定的時間片已到,讓處理機處理計時、啓動定時運行的任務等。

這一類中斷通常是與當前程序運行無關的事件,即它們與當前處理機運行的程序無關。

異常(Exception)

異常(Exception),也稱內中斷、例外或陷入(Trap),指源自CPU執行指令內部的事件,如:

程序的非法操作碼、地址越界、算術溢出、虛存系統的缺頁以及專門的陷入指令等引起的事件。

對異常的處理一般要依賴於當前程序的運行現場,而且異常不能被屏蔽,一旦出現應立即處理。關於內中斷和外中斷的聯繫與區別如圖1-2所示。

這裏寫圖片描述

圖1-2 內中斷和外中斷的聯繫與區別

Wu_Being博客聲明:本人博客歡迎轉載,請標明博客原文和原鏈接!謝謝!
《中斷和異常的概念》:
http://blog.csdn.net/u014134180/article/details/78418428

Wu_Being 吳兵博客接受贊助費二維碼

如果你看完這篇博文,覺得對你有幫助,並且願意付贊助費,那麼我會更有動力寫下去。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章