青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,Linux內核
隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
數據加載中……

linux內核V2.6.11學習筆記(4)--中斷與異常處理概述

Linux下面的中斷分兩種:
同步的中斷,也稱為異常,之所以稱為"同步",是因為這些異常是在程序執行的時候某條語句觸發的,比如除0錯誤,缺頁異常等等,有名的段錯誤也屬于其中的一種,這個時候,你的程序不能繼續往下走,而必須對這些異常做出回應,也就是處理.
異步的中斷,也就是中斷,之所以稱為"異步",是因為這些中斷是在當前指令之外的指令觸發的.比如你的程序正在執行,來了一個I/O請求,或者定時器到時間被觸發了,等等.也就是說,程序無法預知中斷在什么時候到來.

有點兒亂了,小結一下:中斷分為兩種,同步的中斷叫做異常,一般由程序中的錯誤觸發;異步的中斷叫做中斷,一般由當前程序外部觸發,比如IO請求,定時器等觸發.

每一個中斷與一根IRQ線(Interrupt ReQuest (IRQ) line)對應,而IRQ是連接到可編程中斷控制器(Programmable Interrupt Controller,簡稱PIC)上的.它完成下面的工作:
1) 檢查與之相連的IRQ,看看哪個IRQ被觸發了,選擇最小的被觸發的IRQ.
2) 將被中斷的IRQ轉換為一個中斷向量
3) 將中斷向量存放在IO端口,CPU可以通過數據線讀取該中斷向量
4) 發出INTR指令,告訴CPU:有一條中斷被觸發了
5) 在以上步驟之后,PIC等待CPU對這個中斷做出響應,這段時間內PIC不會去檢查新的中斷.當CPU處理完這個中斷后,PIC再去清空INTR線以接收新的中斷.
6) 重復第一步

以上是PIC所做的,簡單的說:監控IRQ,將被觸發的IRQ轉換為中斷向量,然后通知CPU.

下面來看看CPU的控制單元是怎么做的.

<<深入理解Linux內核>>中對這部分說的比較詳細了(4.2.4節),下面做一點輔助解釋性的說明:
1) 首先,每個中斷向量都與與之對應的處理程序,可以簡單的理解為,這是一個大的數組,數組索引是中斷向量,而存放的元素是函數指針,也就是對這些中斷進行處理的函數.在系統初始化的時候初始化每個中斷向量的處理函數.

2) 書中的一段話,看著有點兒令人費解的:Before dealing with that instruction, the control unit checks whether an interrupt or an exception occurred while the control unit executed the previous instruction. 實際上,這個查詢操作對程序來說是透明的,是CPU的控制單元自己去做的事情,如果查詢到了有中斷被觸發,再去調用上面已經注冊的處理函數.至于每次執行指令之前是怎么做到高效查找的,我不清楚,哪位知道的麻煩告知一下.

3)中斷向量的分類為:
從0~31的向量對應于異常和非屏蔽中斷。

32~47的向量(即由I/O設備引起的中斷)分配給屏蔽中斷。

剩余的從48~255的向量用來標識軟中斷。Linux只用了其中的一個(即128或0x80向量)用來實現系統調用。當用戶態下的進程執行一條int 0x80匯編指令時,CPU就切換到內核態,并開始執行system_call(  )內核函數

4) 由于中斷被觸發時需要保護現場,所以在發生中斷調用處理函數之前需要保護現場,也就是一些寄存器指針;而中斷處理完畢后需要恢復現場,因此需要將這些寄存器恢復.當然,在切換的時候,還需要考慮程序的運行權限等等.


以上就是對中斷和異常處理的大體流程.

posted on 2009-04-28 23:28 那誰 閱讀(3383) 評論(3)  編輯 收藏 引用 所屬分類: linux kernel

評論

# re: linux內核V2.6.11學習筆記(4)--中斷與異常處理概述  回復  更多評論   

哥們,提個建議,能不能把字體換成黑色宋體,眼睛好難受
2009-04-29 08:54 | brightcoder

# re: linux內核V2.6.11學習筆記(4)--中斷與異常處理概述[未登錄]  回復  更多評論   

我最近也在看一些linux kernel方面的東西,跟你的內容有點重疊。不過你是比較深入研究代碼,我只是皮毛的看了一些原理。比如我昨天的一些零散的整理:http://timyang.net/linux/linux-process/
2009-05-04 23:54 | Tim

# re: linux內核V2.6.11學習筆記(4)--中斷與異常處理概述  回復  更多評論   

@Tim
你的blog在我google reader里面,時不時也會去看看,以后請多指教了.
2009-05-05 00:03 | 那誰
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美日韩视频一区| 久久一区二区三区超碰国产精品| 浪潮色综合久久天堂| 日韩一区二区免费看| 免费成人小视频| 午夜精品久久久久影视| 国产午夜精品视频| 国产精品日本一区二区| 欧美性猛片xxxx免费看久爱| 欧美精品在线观看播放| 欧美成人激情视频免费观看| 每日更新成人在线视频| 美女国产一区| 另类欧美日韩国产在线| 噜噜噜躁狠狠躁狠狠精品视频| 久久九九免费| 久久亚洲不卡| 免费看亚洲片| 欧美理论在线播放| 欧美亚韩一区| 国产精品久久久久国产a级| 欧美日韩在线视频一区二区| 欧美日韩亚洲在线| 蜜桃视频一区| 欧美日韩亚洲一区二区三区在线观看| 老鸭窝毛片一区二区三区| 久久理论片午夜琪琪电影网| 久久一区中文字幕| 久久亚洲国产精品一区二区| 免费av成人在线| 美女视频黄a大片欧美| 老司机67194精品线观看| 在线观看成人一级片| 91久久国产综合久久蜜月精品 | 狠狠久久亚洲欧美| 国产亚洲激情在线| 99视频有精品| 亚洲国产成人久久综合一区| 午夜亚洲激情| 久久久久国产一区二区三区四区| 亚洲福利视频一区二区| 亚洲国产老妈| 亚洲精品偷拍| 蜜臀av一级做a爰片久久| 榴莲视频成人在线观看| 亚洲一区二区三区免费在线观看 | 国产精品实拍| 夜夜嗨网站十八久久| 9i看片成人免费高清| 亚洲影视在线| 中国成人亚色综合网站| 米奇777超碰欧美日韩亚洲| 欧美日韩网站| 一本色道久久精品| 亚洲日本视频| 亚洲制服av| 欧美激情a∨在线视频播放| 亚洲人成在线观看网站高清| 久久综合成人精品亚洲另类欧美| 亚洲美女91| 久久米奇亚洲| 91久久中文字幕| 亚洲无限av看| 国产精品久久久久毛片软件| 亚洲中字黄色| 亚洲视频日本| 国产偷国产偷亚洲高清97cao | 午夜精品一区二区三区在线视 | 亚洲日韩欧美视频一区| 欧美日韩国产经典色站一区二区三区| 日韩视频久久| 亚洲综合电影| 亚洲欧美美女| 欧美—级a级欧美特级ar全黄| 久久精品毛片| 欧美二区在线| 一区精品久久| 久久精品成人欧美大片古装| 久久精精品视频| 日韩亚洲在线观看| 日韩视频三区| 91久久亚洲| 亚洲欧美视频| 亚洲女人天堂av| 国产精品黄页免费高清在线观看| 免费久久精品视频| 国产精品毛片一区二区三区| 日韩亚洲欧美成人一区| 亚洲一区国产精品| 欧美午夜视频网站| 欧美高清视频| 欧美搞黄网站| 一区二区三区日韩精品| 亚洲精品资源| 久久九九99| 国产精品视频区| 久久久久久久久久码影片| 欧美激情亚洲| 99一区二区| 亚洲欧美日韩精品综合在线观看| 久久精品国产一区二区电影 | 久久久久久自在自线| 午夜视频一区二区| 国产精品日韩一区| 欧美在线亚洲在线| 免费不卡在线观看av| 国内成人在线| 欧美极品一区二区三区| 日韩午夜电影av| 久久久精品一区| 欧美一区二区啪啪| 亚洲精选91| 91久久国产自产拍夜夜嗨| 9色国产精品| 国产精品亚洲综合天堂夜夜| 亚洲欧美一区二区三区久久 | 欧美激情综合五月色丁香| 亚洲国内自拍| 久久久久久久综合| 亚洲手机视频| 亚洲美女av黄| 在线日韩精品视频| 尤物网精品视频| 国产在线不卡视频| 国产区精品视频| 国产综合久久久久久鬼色| **性色生活片久久毛片| 欧美亚洲成人网| 欧美福利一区二区三区| 欧美在线观看你懂的| 亚洲精品免费在线观看| 欧美大胆a视频| 欧美黄色小视频| 亚洲国产精品一区二区第四页av| 欧美成人一区二免费视频软件| 久久亚洲色图| 一区二区精品国产| 久久久久久久精| 欧美三级精品| 国模私拍一区二区三区| 国产丝袜一区二区三区| 国产情侣久久| 国模 一区 二区 三区| 国外成人网址| 日韩午夜av在线| 国产日韩精品视频一区| 国产精品三级视频| 久久噜噜亚洲综合| 夜夜嗨av色一区二区不卡| 黄色一区二区三区| 亚洲激情电影中文字幕| 亚洲精品美女免费| 欧美一区2区三区4区公司二百| 久久精品官网| 一区二区三区成人| 久久精品视频在线免费观看| 欧美激情中文字幕一区二区| 黑人一区二区| 欧美1级日本1级| 欧美+日本+国产+在线a∨观看| 国产精品一区二区在线| 亚洲精品一区二区三区av| 久久www成人_看片免费不卡| 亚洲国产欧美精品| 午夜久久黄色| 欧美精品1区| 亚洲欧洲精品一区二区三区| 欧美电影在线| 亚洲开发第一视频在线播放| 欧美成人精品影院| 亚洲国产精品久久久久| 美日韩在线观看| 欧美日韩国产综合一区二区| 亚洲精品欧美在线| 久久九九精品| 欧美综合第一页| 国产日韩欧美麻豆| 毛片一区二区| 欧美大片第1页| 亚洲你懂的在线视频| 中文日韩电影网站| 黄色欧美成人| 亚洲午夜精品久久久久久app| 亚洲国产裸拍裸体视频在线观看乱了| 久久婷婷蜜乳一本欲蜜臀| 久久国产福利| 亚洲裸体视频| 亚洲精品中文字幕女同| 国产亚洲精品7777| 亚洲免费高清视频| 久久av一区二区三区| 亚洲一级在线观看| 国产精品欧美在线| 欧美成人日韩| 国产精品一二三视频| 美女视频黄a大片欧美| 国产精品永久免费视频| 中日韩男男gay无套| 在线成人黄色| 亚洲一二三区在线|