歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

中斷與異常詳解(一)

Intel x86共有256種異常或者中斷,也就是常說的中斷向量,分別有對應的中斷類型碼,分布如下

0-31

異常和非屏蔽中斷

32-47

由I/O設備引起的屏蔽中斷,書中所講為8259A單片機來處理響應34號中斷外的其他中斷

48-255

標識軟中斷,linux系統只使用了128號即0x80來實現系統內調用,在用戶態下執行int 0x80匯編,cpu切換到內核態,執行system_call()函數

對於cpu跑指令的過程中遇到的突發情況分為兩大類   CPU內部   cpu內部出現的問題,必須馬上處理,所以叫異常;   CPU外部   cpu外部出現問題,可以不馬上處理,所以采用可屏蔽和不可屏蔽中斷的方式來區分。   為了管理方便,異常和不可屏蔽中斷都當作異常來處理,這類問題有專門的異常處理程序,是linux要解決的問題。   0-17號是intel定義異常,除了3,4,5(以及後面的128)號是陷進外(留給系統調用),其他的都是故障,cpu跑不下去了,所以需要處理 18-31號為將來的cpu保留   32-47由8259A響應,對應下面的IRQ0-IRQ15,34號中斷也就是IRQ2不知道做什麼 還有個128號軟中斷系統調用
Copyright © Linux教程網 All Rights Reserved