為什么需要中斷?
答案:處理器的速度比外設快很多,內核必須要處理其他任務,只有當外設準備好了,CPU才轉過來處理外設的事務。
一般通訊方式為:輪詢(polling)、中斷(interrupt),除了網(wǎng)絡傳輸適合用輪詢外,一般其他情況都是用中斷。
中斷分類


中斷是指 CPU 正常運行期間,由于內外部事件或程序預先安排的事件,引起的 CPU暫時停止正在運行的程序,轉而為該內部或外部預先安排的事件服務的程序中去,服務完畢后再返回去繼續(xù)執(zhí)行被暫時中斷的程序。
常說的中斷其實是第一種,異步中斷。
陷阱就是系統(tǒng)調用,從用戶態(tài)陷入到內核態(tài),比如調用 open、write 等系統(tǒng)調用,也算中斷。這兩種很正常,所以會返回到下一條指令。
故障就是遇到了內存缺頁等情況,會返回到當前指令繼續(xù)執(zhí)行,看看內核是否會修復完畢,如果修復不了就掛掉了。終止就是系統(tǒng)直接掛掉了。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
處理器
+關注
關注
68文章
20255瀏覽量
252321 -
Linux
+關注
關注
88文章
11760瀏覽量
219040 -
中斷
+關注
關注
5文章
917瀏覽量
43761 -
系統(tǒng)
+關注
關注
1文章
1046瀏覽量
22316
發(fā)布評論請先 登錄
相關推薦
熱點推薦
Linux內核中斷設計與實現(xiàn)
裸機編程中使用中斷比較麻煩,需要配置寄存器、使能IRQ等等。而在Linux驅動編程中,內核提供了完善的終端框架,只需要申請中斷,然后注冊
發(fā)表于 07-29 08:57
?1221次閱讀
面向嵌入式Linux系統(tǒng)的軟中斷設計與實現(xiàn)
本文在分析標準Linux 內核的軟中斷機制的演化以及實現(xiàn)原理的基礎上,提出并實現(xiàn)了一個面前嵌入式Linux 系統(tǒng)的軟中斷技術。該技術為嵌入式
發(fā)表于 08-03 11:20
?16次下載
Linux 2.6 中斷處理原理簡介
Linux 2.6 中斷處理原理簡介
中斷描述符表(Interrupt Descriptor Table,IDT)是一個系統(tǒng)表,它與每一個中斷
發(fā)表于 02-05 10:52
?959次閱讀
linux gpio做中斷源
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。今天主要以linux gpio做
發(fā)表于 11-17 15:50
?5858次閱讀
你了解linux的中斷機制?
中斷是指在CPU正常運行期間,由于內外部事件或由程序預先安排的事件引起的CPU暫時停止正在運行的程序,轉而為該內部或外部事件或預先安排的事件服務的程序中去,服務完畢后再返回去繼續(xù)運行被暫時中斷的程序。Linux中通常分為外部
發(fā)表于 05-05 15:30
?971次閱讀
Linux驅動技術之一內核中斷
在硬件上,中斷源可以通過中斷控制器向CPU提交中斷,進而引發(fā)中斷處理程序的執(zhí)行,不過這種硬件中斷體系每一種CPU都不一樣,而
發(fā)表于 05-08 13:49
?958次閱讀
需要了解的Linux的IRQ中斷子系統(tǒng)
在Linux中斷子系統(tǒng)(generic irq)出現(xiàn)之前,內核使用__do_IRQ處理所有的中斷,這意味著__do_IRQ中要處理各種類型的中斷
發(fā)表于 05-10 10:56
?1800次閱讀
嵌入式Linux中斷驅動
用過STM32的大概都知道,基本每個GPIO管腳都支持中斷模式,這樣在檢測外部插入一個硬件設備時,通過GPIO管腳電平中斷就非常方便。那么AM3354的片子是否支持GPIO管腳電平中斷呢?答案是肯定
發(fā)表于 11-01 16:57
?4次下載
linux內核-時鐘中斷
make是靠時間標記來確定是否需要重新編譯以及鏈接的。瞌睡時鐘中斷的重要性還遠不止于此。我們在中斷的博客中看到,內核在每次中斷(以及系統(tǒng)調用
發(fā)表于 11-23 17:51
?12次下載
關于Linux的GPIO中斷知識
在嵌入式系統(tǒng)中,經(jīng)常會用到gpio外部中斷來獲取外部事件,比如按鍵、傳感器、網(wǎng)絡通信等等。一般中斷都會綁定一個中斷回調函數(shù),來執(zhí)行產(chǎn)生中斷后
Linux中斷情景分析
在一個系統(tǒng)中,中斷時常發(fā)生,而且線程調度也是由一個硬件定時器時時刻刻發(fā)出中斷來支撐的。可以說中斷就是linux
發(fā)表于 06-23 14:22
?1069次閱讀
Linux為什么中斷不允許休眠
Linux 為什么中斷不允許休眠? 所謂的睡眠,就是調用 schedule 讓出 CPU,調度器選擇另外個進程繼續(xù)執(zhí)行,這個過程涉及進程??臻g的切換。 1、假如中斷上下文中調用 schedule
Linux系統(tǒng)為什么需要中斷
評論