Intcount

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 *

Stáhnout

Leave a Reply

Your email address will not be published. Required fields are marked *