Win 2K OS對硬體中斷的處理機制

來源:互聯網
上載者:User

     Win 2K OS將裝置的插斷要求抽象為獨立於平台的中斷對象。中斷對象包括匯流排類型、中斷優先順序別、匯流排向量號、中斷模式(電平觸發、邊沿觸發)等。作業系統總是將中斷對象和一定中斷等級(RIQL,Interrupt Request Level)聯絡在一起,中斷的IQRL層級高低,依賴於發生中斷的匯流排類型和匯流排層級,一個驅動程式可以產生多個具有同一IRQL層級的中斷對象。中斷對象也總是和一定的中斷服務程式(ISR,Interrupt Service Request)聯絡在一起,當裝置中斷產生時,系統調用該中斷對象的SIR。SIR是完成中斷任務的核心程式,它是系統提供的標準函數,也可以是使用者自己定義的執行函數。SIR只有在當前處理器RIQL層級等於或低於當前中斷對象IRQL層級時才能執行。同樣,SIR在執行的過程中不會被中斷,除非有比IRQL層級更高的插斷要求出現。一般外部裝置的sIR,運行在硬體中斷等級(DIRQL,Device Interrupt Request Level)層級上,這樣CPU啟動並執行層級比較高,故SIR應該儘可能快地執行,以免出現中斷堆積。
       作業系統提供了延遲程序呼叫(DPC,Delayed Procedure Call)對象,這個對象可用於那些需要花費很多時間執行SIR的裝置中斷,這些中斷程式執行低於DIRQL層級上。這種延遲程序呼叫方法將那些中斷髮生後需要後續處理的操作通過DPC做以緩衝,在很大程度上縮短了SIR佔用中斷優先順序的時間,提高了系統的即時性。
      我們的控制卡正是採用這種中斷機制。驅動程式中編寫了處理系統中斷的SIR,用於執行中斷處理所必需的操作(如判斷中斷是否為本裝置所產生、關閉中斷、清除硬體中斷訊號、重啟中斷等)。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.