測試windows
5.2 windows 中斷與異常數據結構
1.外部硬件中斷是經過處理器上的中斷引腳管或者本地APIC的內置模塊來發生的;對於一個處理器,一旦被中單,測試
某個預先被設定的中斷服務例程就被執行!線程
2.處理器的內部的IDTR寄存器記錄着IDT的位置和它的最大限制,IDTR寄存器爲48位。對象
每一箇中斷描述符號是8字節(共64位)對於 軟中斷的情形,可避免低特權的代碼經過軟中斷的形式 去執行關鍵的異常或中斷處理的代碼!blog
3.內存
APC_LEVEL 一個線程插入一個APC能夠打斷該線程同步
DISPATCH_LEVEL 一個處理器運行在這個IRQL上 可能正在作兩件事情:1.線程調度 2.硬件處理的後半部分 DPCList
不會被其餘線程搶佔,只有被更高的中斷搶佔,與線程調度相關的數據結構 只有在此級別才能同步範圍硬件
這個是最高級的軟中斷,不能訪問換頁內存,由於一旦發生換頁就要執行IO操做,因此只能訪問非換頁內存
InterruptListEntry 與同一個中斷向量關聯的中斷對象雙鏈表,當中斷髮生 全部的中斷對象 都被執行!
每一箇中斷對象都只能被鏈接到一個IDT項,若是一個服務例程須要被鏈接到多個處理器,必須創建多箇中斷對象。