? 硬中斷是由外部事件引起的因此具有隨機(jī)性和突發(fā)性;硬中斷是否可以嵌套的,是否有優(yōu)先級(由硬件設(shè)計(jì)體系決定)。
? 軟中斷是執(zhí)行中斷指令產(chǎn)生的,無面外部施加中斷請求信號,因此中斷的發(fā)生不是隨機(jī)的而是由程序安排好的。
由與系統(tǒng)相連的外設(shè)(比如網(wǎng)卡、硬盤)自動(dòng)產(chǎn)生的。主要是用來通知操作系統(tǒng)系統(tǒng)外設(shè)狀態(tài)的變化。比如當(dāng)網(wǎng)卡收到數(shù)據(jù)包
的時(shí)候,就會發(fā)出一個(gè)中斷。我們通常所說的中斷指的是硬中斷(hardirq)。
為了滿足實(shí)時(shí)系統(tǒng)的要求,中斷處理應(yīng)該是越快越好。linux為了實(shí)現(xiàn)這個(gè)特點(diǎn),當(dāng)中斷發(fā)生的時(shí)候,硬中斷處理那些短時(shí)間
就可以完成的工作,而將那些處理事件比較長的工作,放到中斷之后來完成,也就是軟中斷(sofTIrq)來完成。
這里解釋了我們之前在GIC中斷系列中對于中斷的兩個(gè)stage的文字。原來這個(gè)中斷兩個(gè)階段是這個(gè)意思。
? 軟中斷是執(zhí)行中斷指令產(chǎn)生的,而硬中斷是由外設(shè)引發(fā)的。
? 硬中斷的中斷號是由中斷控制器提供的,軟中斷的中斷號由指令直接指出,無需使用中斷控制器。
? 硬中斷是可屏蔽的,軟中斷不可屏蔽。
? 硬中斷處理程序要確保它能快速地完成任務(wù),這樣程序執(zhí)行時(shí)才不會等待較長時(shí)間,稱為上半部。
? 軟中斷處理硬中斷未完成的工作,是一種推后執(zhí)行的機(jī)制,屬于下半部。
中斷嵌套、軟中斷指令
1、中斷嵌套
Linux下硬中斷是可以嵌套的,但是沒有優(yōu)先級的概念,也就是說任何一個(gè)新的中斷都可以打斷正在執(zhí)行的中斷,但同種中斷除外。軟中斷不能嵌套,但相同類型的軟中斷可以在不同CPU上并行執(zhí)行。
2、軟中斷指令、
int是軟中斷指令。
中斷向量表是中斷號和中斷處理函數(shù)地址的對應(yīng)表。
int n - 觸發(fā)軟中斷n。相應(yīng)的中斷處理函數(shù)的地址為:中斷向量表地址 + 4 * n。
-
控制器
+關(guān)注
關(guān)注
112文章
16361瀏覽量
178057 -
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209504 -
中斷
+關(guān)注
關(guān)注
5文章
898瀏覽量
41497
發(fā)布評論請先 登錄
相關(guān)推薦
NXP的ARM7帶ucos中硬中斷與軟中斷響應(yīng)詳細(xì)分析
請問一下軟中斷的問題如何解決
什么是中斷以及硬中斷呢
軟中斷程序設(shè)計(jì)
![<b class='flag-5'>軟</b><b class='flag-5'>中斷</b>程序設(shè)計(jì)](https://file1.elecfans.com//web2/M00/A4/68/wKgZomUMNBGAKOM5AAC8g0BqKRA246.jpg)
什么是中斷源?中斷源的分類介紹
![什么是<b class='flag-5'>中斷</b>源?<b class='flag-5'>中斷</b>源的分類<b class='flag-5'>介紹</b>](https://file1.elecfans.com//web2/M00/A6/EA/wKgZomUMQTmAAa2wAAAT3LWQ_e8578.jpg)
中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費(fèi)下載
![<b class='flag-5'>中斷</b>是什么?STM32<b class='flag-5'>中斷</b>系統(tǒng)<b class='flag-5'>介紹</b>和<b class='flag-5'>中斷</b>配置步驟資料免費(fèi)下載](https://file.elecfans.com/web1/M00/67/FE/pIYBAFu_G5yAXRSEAAC7luvPbug473.png)
淺析硬中斷和軟中斷的區(qū)別
![淺析<b class='flag-5'>硬</b><b class='flag-5'>中斷</b>和<b class='flag-5'>軟</b><b class='flag-5'>中斷</b>的區(qū)別](https://file.elecfans.com/web1/M00/69/6B/pIYBAFvX-82ACIsuAAAMo0Bxnkw108.png)
探究硬中斷和軟中斷的原理和區(qū)別
![探究<b class='flag-5'>硬</b><b class='flag-5'>中斷</b>和<b class='flag-5'>軟</b><b class='flag-5'>中斷</b>的原理和區(qū)別](https://file.elecfans.com/web1/M00/83/07/pIYBAFw_3PGANrc8AAAMdDmlEig079.jpg)
你了解硬中斷和軟中斷的區(qū)別?
微機(jī)原理——8086中斷類型以及中斷向量表、中斷響應(yīng)、中斷返回
![微機(jī)原理——8086<b class='flag-5'>中斷</b>類型以及<b class='flag-5'>中斷</b>向量表、<b class='flag-5'>中斷</b>響應(yīng)、<b class='flag-5'>中斷</b>返回](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
硬中斷與軟中斷是怎么回事?
![<b class='flag-5'>硬</b><b class='flag-5'>中斷</b>與<b class='flag-5'>軟</b><b class='flag-5'>中斷</b>是怎么回事?](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
單重中斷與多重中斷介紹
![單重<b class='flag-5'>中斷</b>與多重<b class='flag-5'>中斷</b><b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/AB/58/wKgaomU_bBKAYdt9AAO4WMBbwPY473.jpg)
什么是LInux 操作系統(tǒng)中斷
![什么是LInux 操作系統(tǒng)<b class='flag-5'>中斷</b>](https://file1.elecfans.com/web2/M00/AD/6E/wKgaomVNo4KAKidPAAOU2BgIoqw812.jpg)
LInux 操作系統(tǒng)中斷介紹
![LInux 操作系統(tǒng)<b class='flag-5'>中斷</b><b class='flag-5'>介紹</b>](https://file1.elecfans.com/web2/M00/AD/6E/wKgaomVNo4KAKidPAAOU2BgIoqw812.jpg)
評論