轉載自: https://blog.csdn.net/qq_29996285/article/details/88078939
中斷是指 CPU 對系統發生某事件時的這樣一種響應:
CPU 暫停正在執行的程序,在保留現場后自動地轉去執行該事件的中斷處理程序;執行完后,再返回到原程序的斷點處繼續執行。
下圖 表示中斷時 CPU 的活動軌跡。還可進一步把中斷分為外中斷和內中斷。
- 外中斷——就是我們指的中斷——是指由於外部設備事件所引起的中斷,如通常的磁盤中斷、打印機中斷等;
- 內中斷——就是異常——是指由於 CPU 內部事件所引起的中斷,如程序出錯(非法指令、地址越界)。內中斷(trap)也被譯為“捕獲”或“陷入”。
- 異常是由於執行了現行指令所引起的。由於系統調用引起的中斷屬於異常。
- 中斷則是由於系統中某事件引起的,該事件與現行指令無關。
0328補充
中斷和異常
相同點:都是CPU對系統發生的某個事情做出的一種反應。
區別:中斷由外因引起,異常由CPU本身原因引起。
引入原因
中斷的引入——為了支持CPU和設備之間的並行操作
異常的引入——表示CPU執行指令時本身出現的問題
引發中斷或異常的事件
- 中斷——外部事件引起,正在運行的程序所不期望的
- 異常——內部執行指令引起