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

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,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 那誰 閱讀(3369) 評論(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>
            蜜臀av一级做a爰片久久| 91久久在线播放| 亚洲自拍电影| 国产精品亚洲一区二区三区在线| 亚洲欧美日韩综合aⅴ视频| 亚洲一级二级| 国际精品欧美精品| 欧美成人福利视频| 欧美日韩国产美女| 欧美一区二区三区在线视频| 欧美在线三区| 日韩一级不卡| 亚洲中午字幕| 亚洲欧洲精品一区二区精品久久久 | 免费一区二区三区| 亚洲天堂av高清| 欧美一区免费| 亚洲日本中文字幕区| 在线亚洲欧美| 亚洲国产日本| 午夜精品久久久久久久99水蜜桃| 亚洲欧美电影院| 欧美一区二区三区视频免费| 国产亚洲精品bv在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 老司机午夜精品视频| 亚洲免费视频在线观看| 久久精品亚洲乱码伦伦中文| 一区二区三区四区五区视频| 欧美在线免费观看视频| 中文精品一区二区三区| 久久久福利视频| 亚洲欧美日韩爽爽影院| 蜜臀91精品一区二区三区| 亚洲欧美伊人| 欧美精品一区三区| 欧美88av| 国内精品久久久久久久影视麻豆| 亚洲精品久久久久久一区二区 | 欧美精品日日鲁夜夜添| 久久久99久久精品女同性| 欧美日韩一区二区在线播放| 久久影院亚洲| 国产亚洲成av人片在线观看桃| 亚洲欧洲中文日韩久久av乱码| 韩国成人精品a∨在线观看| 亚洲午夜羞羞片| 99热在这里有精品免费| 久久日韩粉嫩一区二区三区| 欧美专区第一页| 国产精品国产福利国产秒拍| 亚洲国产专区校园欧美| 在线日韩中文| 久久国产乱子精品免费女| 午夜亚洲视频| 国产精品亚洲成人| 亚洲深夜激情| 亚洲欧美日韩视频一区| 国产精品国产a| 一区二区三区视频在线看| 一区二区高清在线观看| 欧美精品九九99久久| 亚洲国产天堂久久综合网| 亚洲激情社区| 欧美高清hd18日本| 亚洲破处大片| 中文在线资源观看网站视频免费不卡| 欧美国产高潮xxxx1819| 亚洲欧洲偷拍精品| av成人免费在线| 欧美视频免费看| 亚洲午夜高清视频| 欧美专区在线观看| 狠狠色狠狠色综合日日小说| 久久久国产一区二区三区| 欧美成在线观看| 最近中文字幕mv在线一区二区三区四区| 久久人人97超碰国产公开结果| 欧美成人69av| 99re热这里只有精品视频| 欧美日韩国产在线看| 亚洲小视频在线| 久久久噜久噜久久综合| 在线电影国产精品| 欧美精品videossex性护士| 日韩一二三区视频| 久久精彩视频| 亚洲欧美国产高清| 欧美电影专区| 国产精品自拍网站| 欧美在线观看一区| 欧美黄色精品| 亚洲自拍偷拍福利| 伊人婷婷欧美激情| 欧美日韩一二三区| 欧美中文在线观看国产| 亚洲国产综合在线看不卡| 亚洲欧美电影在线观看| 尤物九九久久国产精品的分类| 欧美人成免费网站| 午夜精品一区二区三区在线 | 亚洲国产精品综合| 国产精品大片wwwwww| 久久视频在线看| 亚洲视频一区二区免费在线观看| 久久中文在线| 亚洲一区二区免费看| 在线观看亚洲视频| 国产精品蜜臀在线观看| 免费亚洲电影| 欧美在线视频免费观看| 日韩天堂在线观看| 欧美成人嫩草网站| 久久精品国产77777蜜臀| 99精品视频免费观看视频| 国内在线观看一区二区三区| 欧美日韩一级大片网址| 欧美成人免费播放| 久久精品99国产精品日本| 在线一区二区三区做爰视频网站| 欧美激情第4页| 久久婷婷蜜乳一本欲蜜臀| 亚洲欧美国产va在线影院| 亚洲人成在线观看一区二区| 国产亚洲欧美色| 国产精品日韩专区| 欧美日本二区| 欧美激情在线播放| 欧美aⅴ一区二区三区视频| 欧美一区午夜视频在线观看| 一区二区三区|亚洲午夜| 亚洲区一区二| 亚洲福利在线视频| 欧美刺激午夜性久久久久久久| 久久青青草综合| 久久免费高清| 美女999久久久精品视频| 久久久精品午夜少妇| 久久精品国产亚洲a| 午夜久久福利| 先锋影音久久久| 欧美一进一出视频| 久久精品国产一区二区电影 | 欧美插天视频在线播放| 蜜桃精品一区二区三区| 麻豆亚洲精品| 欧美激情一区二区三区蜜桃视频| 美女露胸一区二区三区| 欧美大片在线观看一区| 欧美激情一区二区三区在线| 欧美成人按摩| 亚洲精品国产视频| 亚洲小少妇裸体bbw| 亚洲欧美日韩国产综合在线| 欧美一区二区三区男人的天堂| 亚久久调教视频| 久久在线视频| 欧美日韩午夜视频在线观看| 欧美四级伦理在线| 国产日韩在线一区二区三区| 亚洲欧美日本伦理| 中文在线资源观看视频网站免费不卡| 亚洲图片欧美日产| 久久国产精品久久久久久| 久久久久亚洲综合| 亚洲大片一区二区三区| 亚洲精品乱码久久久久久久久 | 欧美一区二区三区啪啪| 蜜桃视频一区| 国产精品老女人精品视频| 国产亚洲午夜| 9人人澡人人爽人人精品| 亚洲欧美欧美一区二区三区| 久久视频精品在线| 亚洲精品欧美一区二区三区| 亚洲一区bb| 农村妇女精品| 国产精品永久免费视频| 亚洲国产精品第一区二区| 亚洲午夜久久久久久久久电影院 | 久久成人资源| 最新高清无码专区| 午夜激情综合网| 欧美www在线| 国产在线精品一区二区中文| 日韩视频不卡中文| 久久三级视频| 亚洲一区黄色| 欧美日韩精品免费观看视一区二区 | 免费观看一级特黄欧美大片| 国产精品久久二区| 亚洲精品国产精品国产自| 香蕉乱码成人久久天堂爱免费 | 99精品视频免费观看| 久色成人在线| 国产一区二区你懂的| 亚洲一区二区三区视频播放| 亚洲高清久久| 老司机凹凸av亚洲导航| 国产一区二区三区在线观看网站 |