Interrupt(中斷)處理機制@ 程式專欄 - 隨意窩
文章推薦指數: 80 %
I. External Interrupt(外部中斷): CPU 外的週邊元件所引起的。
(I/O Complete Interrupt, I/O Device error) II. Internal Interrupt(內部中斷):不合法的用法所引起 ...
程式專欄1234日誌相簿影音好友名片
200805041409Interrupt(中斷)處理機制?作業系統基本概念□Interrupt(中斷)處理機制為了快速處理常見的中斷,OS給予一個表格,儲存中斷服務函式的進入點,如果有中斷發生,可以快速查表,找到要服務的函式,此表格稱之為中斷處理(InterruptHandler),通常都置於記憶體開始的地方。
每個中斷事件會提供一小段程式去服務此中斷,稱之為中斷服務常式(InterruptServiceRoutine;ISR)。
而中斷向量(Interruptvector)是一個由00H到FFH的數字,用來判斷中斷的種類。
●Interrupt的種類 I.ExternalInterrupt(外部中斷):CPU外的週邊元件所引起的。
(I/OCompleteInterrupt,I/ODeviceerror) II.InternalInterrupt(內部中斷):不合法的用法所引起的。
(Debug、Divide-by-zero、overflow) III.SoftwareInterrupt(軟體中斷):使用者程式在執行時,若需要OS提供服 務時,會藉由SystemCall來呼叫OS執行對應的serviceroutine,完成服務請求 後,再將結果傳回給使用者程式。
●Interrupt的處理流程Setps 1.暫停目前process之執行。
2.保存此process當時執行狀況。
3.OS會根據InterruptID查尋Interruptvector。
4.取得ISR(InterruptServiceRoutine)的起始位址。
5.ISR執行。
6.ISR執行完成,回到原先中斷前的執行。
□I/O結構●SynchronousI/O(同步式I/O) 當I/O啟動時,直到I/O完成,控制權才交回給使用者程式。
優點:一個時間內最多只有一個I/O要求,如此當中斷發生時,OS就 知道是那個Device引發的中斷。
●AsynchronousI/O(非同步式I/O) 當I/O啟動後,之即將控制權交回給使用者程式,而不必等待I/O Complete,如此,在同一段時間內,可以有許多I/O請求同時發生。
優點:允許並行的I/O處理。
□I/O運作處理方式●PollingI/O(詢問式I/O) 又稱為Busy-waitingI/O、ProgramI/O。
其運作處理方式如下
Steps 1.發出I/O要求給CPU(OS) 2.CPU設定I/Ocommands給I/ODevicecontroller。
3.I/ODevice運作執行。
4.PA等待I/O完成。
5.PB取得CPU執行,但CPU實際上沒有專屬於PB執行。
6.CPU仍不斷地去詢問I/ODevice其交付的I/O工作完成與否。
缺點 CPU表面是Busy,但實際上是在等待I/O完成,花費大量時間在I/O 運作的監督,真正用於process的執行時間(executiontime)不多。
●InterruptI/O(中斷式I/O) 其運作處理方式如下
Steps 1.發出I/O要求給CPU(OS)。
2.CPU設定I/Ocommands給I/ODevicecontroller。
3.I/ODevice運作執行。
4.PA等待I/O完成。
5.PB取得CPU執行。
6.當I/O運作完成,則I/O會發出一個「I/OCompleteInterrupt」(I/O完成中斷) 通知OS。
7.OS暫停目前process的執行。
8.OS根據InterruptID去查詢Interruptvector,取出對應的ISR(Interrupt ServiceRoutine)的起始位址。
9.CPU執行ISR。
10.ISR執行完畢,OS通知PA其I/O要求完成,將PA的狀態改成Ready。
11.由CPU排班挑選process執行。
大頭/Xuite日誌/回應(0)/引用(0)沒有上一則|日誌首頁|沒有下一則回應
加我為好友
日誌相簿影音
我的相簿
tzeng015's新文章ARM編譯後記憶體分布includeheader檔的使用和介紹fgets改成fread資料讀取就會變正確rotate_180方法的作用就是把buffer中的數據按像素倒轉過來(如果說一個PIXEL=R,G,B)rotate_180方法的作用就是把buffer中的數據按像素倒轉過來(如果說一個PIXEL=R,G,B,A)Recovery和Charger模式下屏幕旋轉180度,尚未進入androidmemset/memcpy/memcmp---簡單的實作把陣列資料反轉有關C語言的struct進階初始化GPSinformation
全部展開|全部收合
tzeng015's新回應沒有新回應!
關鍵字
延伸文章資訊
- 1interrupt中文(繁體)翻譯:劍橋詞典
I wish you'd stop interrupting. 但願你別打斷我的話。 更多範例. Please feel free to interrupt me if you don't un...
- 2interrupt - 用法 - 海词词典
- 3interrupt中文, interrupt是什麼意思:打斷… - 查查在線詞典
例句與用法. I 'm sorry to interrupt your meditation . 很抱歉,我打斷了你的沉思。 I do wish you would not keep inter...
- 4interrupt (【動詞】打斷, 阻礙)意思、用法及發音| Engoo Words
"interrupt" 例句. Our quiet dinner was interrupted by several phone calls. 我們安靜的晚餐被幾通電話打斷了。 Our roa...
- 5Interrupt(中斷)處理機制@ 程式專欄 - 隨意窩
I. External Interrupt(外部中斷): CPU 外的週邊元件所引起的。 (I/O Complete Interrupt, I/O Device error) II. Inter...