0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux系統(tǒng)為什么需要中斷

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:Jasonangel ? 2023-09-28 11:51 ? 次閱讀

為什么需要中斷?

答案:處理器的速度比外設(shè)快很多,內(nèi)核必須要處理其他任務(wù),只有當(dāng)外設(shè)準(zhǔn)備好了,CPU才轉(zhuǎn)過(guò)來(lái)處理外設(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í)中斷的程序。

常說(shuō)的中斷其實(shí)是第一種,異步中斷。

陷阱就是系統(tǒng)調(diào)用,從用戶態(tài)陷入到內(nèi)核態(tài),比如調(diào)用 open、write 等系統(tǒng)調(diào)用,也算中斷。這兩種很正常,所以會(huì)返回到下一條指令。

故障就是遇到了內(nèi)存缺頁(yè)等情況,會(huì)返回到當(dāng)前指令繼續(xù)執(zhí)行,看看內(nèi)核是否會(huì)修復(fù)完畢,如果修復(fù)不了就掛掉了。終止就是系統(tǒng)直接掛掉了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19286

    瀏覽量

    229866
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209535
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    898

    瀏覽量

    41505
  • 系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    1017

    瀏覽量

    21347
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux內(nèi)核中斷設(shè)計(jì)與實(shí)現(xiàn)

    裸機(jī)編程中使用中斷比較麻煩,需要配置寄存器、使能IRQ等等。而在Linux驅(qū)動(dòng)編程中,內(nèi)核提供了完善的終端框架,只需要申請(qǐng)中斷,然后注冊(cè)
    發(fā)表于 07-29 08:57 ?792次閱讀

    什么是中斷?為什么需要中斷?#linux

    Linux操作系統(tǒng)行業(yè)芯事
    我是Coder
    發(fā)布于 :2021年08月11日 18:04:09

    面向嵌入式Linux系統(tǒng)的軟中斷設(shè)計(jì)與實(shí)現(xiàn)

    本文在分析標(biāo)準(zhǔn)Linux 內(nèi)核的軟中斷機(jī)制的演化以及實(shí)現(xiàn)原理的基礎(chǔ)上,提出并實(shí)現(xiàn)了一個(gè)面前嵌入式Linux 系統(tǒng)的軟中斷技術(shù)。該技術(shù)為嵌入式
    發(fā)表于 08-03 11:20 ?16次下載

    Linux 2.6 中斷處理原理簡(jiǎn)介

    Linux 2.6 中斷處理原理簡(jiǎn)介 中斷描述符表(Interrupt Descriptor Table,IDT)是一個(gè)系統(tǒng)表,它與每一個(gè)中斷
    發(fā)表于 02-05 10:52 ?795次閱讀

    linux gpio做中斷

    Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。今天主要以linux gpio做
    發(fā)表于 11-17 15:50 ?5520次閱讀

    你了解linux中斷機(jī)制?

    中斷是指在CPU正常運(yùn)行期間,由于內(nèi)外部事件或由程序預(yù)先安排的事件引起的CPU暫時(shí)停止正在運(yùn)行的程序,轉(zhuǎn)而為該內(nèi)部或外部事件或預(yù)先安排的事件服務(wù)的程序中去,服務(wù)完畢后再返回去繼續(xù)運(yùn)行被暫時(shí)中斷的程序。Linux中通常分為外部
    發(fā)表于 05-05 15:30 ?724次閱讀

    Linux驅(qū)動(dòng)技術(shù)之一內(nèi)核中斷

    在硬件上,中斷源可以通過(guò)中斷控制器向CPU提交中斷,進(jìn)而引發(fā)中斷處理程序的執(zhí)行,不過(guò)這種硬件中斷體系每一種CPU都不一樣,而
    發(fā)表于 05-08 13:49 ?644次閱讀

    需要了解的Linux的IRQ中斷系統(tǒng)

    Linux中斷系統(tǒng)(generic irq)出現(xiàn)之前,內(nèi)核使用__do_IRQ處理所有的中斷,這意味著__do_IRQ中要處理各種類型的中斷
    發(fā)表于 05-10 10:56 ?1475次閱讀

    嵌入式Linux中斷驅(qū)動(dòng)

    用過(guò)STM32的大概都知道,基本每個(gè)GPIO管腳都支持中斷模式,這樣在檢測(cè)外部插入一個(gè)硬件設(shè)備時(shí),通過(guò)GPIO管腳電平中斷就非常方便。那么AM3354的片子是否支持GPIO管腳電平中斷呢?答案是肯定
    發(fā)表于 11-01 16:57 ?4次下載
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>中斷</b>驅(qū)動(dòng)

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

    make是靠時(shí)間標(biāo)記來(lái)確定是否需要重新編譯以及鏈接的。瞌睡時(shí)鐘中斷的重要性還遠(yuǎn)不止于此。我們?cè)?b class='flag-5'>中斷的博客中看到,內(nèi)核在每次中斷(以及系統(tǒng)調(diào)用
    發(fā)表于 11-23 17:51 ?12次下載
    <b class='flag-5'>linux</b>內(nèi)核-時(shí)鐘<b class='flag-5'>中斷</b>

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

    在嵌入式系統(tǒng)中,經(jīng)常會(huì)用到gpio外部中斷來(lái)獲取外部事件,比如按鍵、傳感器、網(wǎng)絡(luò)通信等等。一般中斷都會(huì)綁定一個(gè)中斷回調(diào)函數(shù),來(lái)執(zhí)行產(chǎn)生中斷
    的頭像 發(fā)表于 03-24 11:27 ?3738次閱讀
    關(guān)于<b class='flag-5'>Linux</b>的GPIO<b class='flag-5'>中斷</b>知識(shí)

    Linux中斷情景分析

    在一個(gè)系統(tǒng)中,中斷時(shí)常發(fā)生,而且線程調(diào)度也是由一個(gè)硬件定時(shí)器時(shí)時(shí)刻刻發(fā)出中斷來(lái)支撐的??梢哉f(shuō)中斷就是linux
    發(fā)表于 06-23 14:22 ?587次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中斷</b>情景分析

    Linux為什么中斷不允許休眠

    Linux 為什么中斷不允許休眠? 所謂的睡眠,就是調(diào)用 schedule 讓出 CPU,調(diào)度器選擇另外個(gè)進(jìn)程繼續(xù)執(zhí)行,這個(gè)過(guò)程涉及進(jìn)程??臻g的切換。 1、假如中斷上下文中調(diào)用 schedule
    的頭像 發(fā)表于 09-27 17:48 ?1297次閱讀

    什么是LInux 操作系統(tǒng)中斷

    LInux 操作系統(tǒng)中斷 什么是系統(tǒng)中斷 這個(gè)沒(méi)啥可說(shuō)的,大家都知道; CPU 在執(zhí)行任務(wù)途中接收到中斷
    的頭像 發(fā)表于 11-10 11:29 ?630次閱讀
    什么是<b class='flag-5'>LInux</b> 操作<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中斷</b>

    LInux 操作系統(tǒng)中斷介紹

    LInux 操作系統(tǒng)中斷 什么是系統(tǒng)中斷 這個(gè)沒(méi)啥可說(shuō)的,大家都知道; CPU 在執(zhí)行任務(wù)途中接收到中斷
    的頭像 發(fā)表于 11-13 11:36 ?908次閱讀
    <b class='flag-5'>LInux</b> 操作<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中斷</b>介紹