為什么需要中斷?
答案:處理器的速度比外設(shè)快很多,內(nèi)核必須要處理其他任務(wù),只有當(dāng)外設(shè)準(zhǔn)備好了,CPU才轉(zhuǎn)過來處理外設(shè)的事務(wù)。
一般通訊方式為:輪詢(polling)、中斷(interrupt),除了網(wǎng)絡(luò)傳輸適合用輪詢外,一般其他情況都是用中斷。
中斷分類
中斷是指 CPU 正常運(yùn)行期間,由于內(nèi)外部事件或程序預(yù)先安排的事件,引起的 CPU暫時(shí)停止正在運(yùn)行的程序,轉(zhuǎn)而為該內(nèi)部或外部預(yù)先安排的事件服務(wù)的程序中去,服務(wù)完畢后再返回去繼續(xù)執(zhí)行被暫時(shí)中斷的程序。
常說的中斷其實(shí)是第一種,異步中斷。
陷阱就是系統(tǒng)調(diào)用,從用戶態(tài)陷入到內(nèi)核態(tài),比如調(diào)用 open、write 等系統(tǒng)調(diào)用,也算中斷。這兩種很正常,所以會(huì)返回到下一條指令。
故障就是遇到了內(nèi)存缺頁等情況,會(huì)返回到當(dāng)前指令繼續(xù)執(zhí)行,看看內(nèi)核是否會(huì)修復(fù)完畢,如果修復(fù)不了就掛掉了。終止就是系統(tǒng)直接掛掉了。
-
處理器
+關(guān)注
關(guān)注
68文章
19825瀏覽量
233813 -
Linux
+關(guān)注
關(guān)注
87文章
11470瀏覽量
212970 -
中斷
+關(guān)注
關(guān)注
5文章
904瀏覽量
42558 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1029瀏覽量
21733
發(fā)布評(píng)論請(qǐng)先 登錄
Linux內(nèi)核中斷設(shè)計(jì)與實(shí)現(xiàn)

面向嵌入式Linux系統(tǒng)的軟中斷設(shè)計(jì)與實(shí)現(xiàn)
Linux 2.6 中斷處理原理簡(jiǎn)介
linux gpio做中斷源
你了解linux的中斷機(jī)制?
Linux驅(qū)動(dòng)技術(shù)之一內(nèi)核中斷
需要了解的Linux的IRQ中斷子系統(tǒng)
嵌入式Linux中斷驅(qū)動(dòng)

linux內(nèi)核-時(shí)鐘中斷

關(guān)于Linux的GPIO中斷知識(shí)

Linux中斷情景分析

評(píng)論