日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中断与异常

發布時間:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中断与异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1.什么是中斷?
    • 2.非可屏蔽中斷如何處理
    • 3.可屏蔽中斷:
    • 4.時鐘中斷
    • 5.可屏蔽中斷如何處理
    • 6.異常
    • 7.異常處理
    • 8.缺頁異常

1.什么是中斷?

1.中斷通常是由CPU外部的輸入輸出設備(硬件)所觸發的,供外部設備通知CPU“有事情需要處理”,因此又叫中斷請求

2.中斷請求的目的是希望CPU暫時停止執行當前正在執行的程序,轉區執行中斷請求所對應的中斷處理例程(中斷處理程序在哪由IDT表決定)

3.80X86有兩條中斷請求線:
非可屏蔽中斷線,稱為NMI(NonMaskable Interrupt)
可屏蔽中斷線,稱為INTR(Interrupt Require)

詳細解釋:

2.非可屏蔽中斷如何處理

(IDT表)中斷號NMI設置
0x2不可屏蔽中斷80X86中固定為0x2

特別說明:
當非可屏蔽中斷產生時,CPU在執行完當前指令后會立刻進入中斷處理程序

非可屏蔽中斷不受EFLAG寄存器中的IF位的影響,一旦發生,CPU必須處理

非可屏蔽中斷處理程序位于IDT表中的2號位置

3.可屏蔽中斷:

在硬件級,可屏蔽中斷是由一塊專門的芯片來管理的,通常稱為中斷控制器,它負責分配中斷資源和管理各個中斷源發出的中斷請求,為了便于標識各個中斷請求,中斷管理器通常IRQ(Interrupt Request)后面加上數字來表示不同的中斷

比如:在Windows中,時鐘中斷的IRQ編號為0,也就是:IRQ0

4.時鐘中斷

補充:
大多數操作系統系統時鐘中斷在10-100MS之間,Windows系列為10-20MS.

舉例:
時鐘中斷每個10~20MS會向CPU發送一個請求,然后操作系統會接管CPU,CPU就會執行操作系統為它指定的一段代碼,操作系統在這個代碼里面就有機會進行線程的切換

操作系統并不是通過時鐘中斷來進行線程切換,有了時鐘中斷只能說明操作系統有機會進行線程切換(并不是說 時鐘中斷就是線程切換)

5.可屏蔽中斷如何處理

(IDT表)中斷號IRQ說明
0x30IRQ0時鐘中斷
0x31-0x3FIRQ1-IRQ15其它硬件設備的中斷

特別說明:
1.如果自己的程序執行時不希望CPU去處理這些中斷,
可以用CLI指令情況EFLAG寄存器中的IF位
用STI指令設置EFLAG寄存器中的IF位

2.硬件中斷與IDT表中的對應關系并非固定不變的,
參見:APIC(高級可編程中斷控制器)

6.異常

異常通常是CPU在執行指令時檢測到的某些錯誤,比如除0,訪問無效頁面等,

中斷與異常的區別:
1.中斷來自于外部設備,是中斷源(比如鍵盤)發起的,CPU是被動的
2.異常來自于CPU本身,是CPU主動產生的
3.INT N雖然被稱為“軟件中斷”,但其本質是異常。EFLAG的IF位(只對可屏蔽中斷 起作用)對INT N無效

7.異常處理

無論是有硬件設備觸發的中斷請求還是由CPU產生的異常,處理程序都在IDT表

(當我們想訪問某個地址,但是地址上面的頁是無效的,如果CPU一旦發現了這個問題,那么它就會觸發異常,發現錯誤,不會往下繼續執行,然后去執行異常處理程序)
常見的異常處理程序:

錯誤類型(IDT表)中斷號
頁錯誤0xE
段錯誤0xD
除零錯誤0x0
雙重錯誤0x8

如果在執行錯誤處理程序時,又發生錯誤的話,那么就會執行雙重錯誤異常處理程序。

8.缺頁異常

缺頁異常的產生:

  • 當PDE/PTE的P=0時
  • 當PDE/PTE的屬性為只讀但程序試圖寫入時
  • 一旦發生缺頁異常,CPU會執行IDT表中的0xE號中斷處理程序,由操作系統來接管

    操作系統如果打算把有效物理頁放到文件中時,會把P位置0,當你再次訪問這個線性地址時,發現P位為0,馬上跳入異常處理程序也就是0xE號指定的異常處理程序,然后操作系統就會檢查PTE,如果發現為上圖中的左邊這種格式,那就說明你當前的物理頁被存儲到頁面文件中了,通過PTE近一步尋找再掛回物理頁

    總結

    以上是生活随笔為你收集整理的中断与异常的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。