中斷與異常的區別


轉載自: https://blog.csdn.net/qq_29996285/article/details/88078939

中斷是指 CPU 對系統發生某事件時的這樣一種響應:

CPU 暫停正在執行的程序,在保留現場后自動地轉去執行該事件的中斷處理程序;執行完后,再返回到原程序的斷點處繼續執行。

下圖 表示中斷時 CPU 的活動軌跡。還可進一步把中斷分為外中斷和內中斷。

  • 外中斷——就是我們指的中斷——是指由於外部設備事件所引起的中斷,如通常的磁盤中斷、打印機中斷等;
  • 內中斷——就是異常——是指由於 CPU 內部事件所引起的中斷,如程序出錯(非法指令、地址越界)。內中斷(trap)也被譯為“捕獲”或“陷入”。
  • 異常是由於執行了現行指令所引起的。由於系統調用引起的中斷屬於異常。
  • 中斷則是由於系統中某事件引起的,該事件與現行指令無關。

 


0328補充

 

中斷和異常

相同點:都是CPU對系統發生的某個事情做出的一種反應。

 區別:中斷由外因引起,異常由CPU本身原因引起。

 

引入原因

中斷的引入——為了支持CPU和設備之間的並行操作

異常的引入——表示CPU執行指令時本身出現的問題

 

引發中斷或異常的事件

  • 中斷——外部事件引起,正在運行的程序所不期望的
  • 異常——內部執行指令引起

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM