V páté kapitole se mimo jiné píše o přerušeních a výjimkách procesoru a jejich obsluze. Projekt IntCount si klade za cil ukázat, ze i na Windows je možné si na přerušení “sáhnout” (za dob systému MS-DOS modifikace obslužných rutin přerušení patřila mezi celkem běžné techniky).
Projekt se skládá z ovaldače intcount.sys, jehož úkolem je pracovat s IDT a sbírat statistiky o tom, kolikrát bylo které přerušení vykonáno od počátku měření, a aplikace, která tyto údaje zobrazuje. Ovladač při počítání výskytu jednotlivých přerušení nerozlišuje procesory.
Krom ukázky změny obslužné rutiny přerušení (tzv. ITD hook) v ovladači také najdete kód pro synchronizaci více procesorů pomocí odloženého volání procedur. Synchronizace je potřebná, protože tabulka vektorů přerušení existuje jedna pro každý procesor, a pokud ji chcete měnit, musí na daném procesoru váš kód běžet.
Vzhledem k tomu, že tabulky vektorů přerušení jsou na 64bitových verzích Windows hlídány technologií PatchGuard, projekt IntCount tyto systémy nepodporuje, jak je také vidět z tabulky níže.
Upozornění: Ovladač intcount.sys způsobuje na Windows XP modrou obrazovku smrti, pokud při monitorování otevřete či zavřete víko notebooku. To samé platí i o změně velikosti obrazu při provozu ve virtuální mašině. Příčina zatím nebyla odhalena.
Systém | Verze kernelu | |
Windows XP 32bit | * | |
Windows Server 2003 R2 32bit | * | |
Windows Vista 32bit | * | |
Windows 7 32bit | * |