Prozessormodus “Kernel-Mode” für Abstürze verantwortlich
Treiberprobleme in Windows oft auf Kernel-Mode zurückführbar
Beim Kernel-Mode handelt es sich um einen privilegierten Prozessormodus, in dem der Programmcode über volle Zugriffsrechte auf den Systemspeicher und die Hardware verfügt. Der Programmcode darf sogar interne Datenstrukturen verändern. Diese direkte Verbindung, die über Executive Services, etwa dem I/O-Manager, dem Plug-and- Play-Manager und dem Memory-Manager, realisiert wird, hat aber nicht nur Vorteile.
Im Alltag sind es gerade die im Kernel-Mode laufende Treiber, die das System zum Absturz bringen, sei es aufgrund eines fehlerhaften Speicherzugriffs oder eines Pufferüberlaufs. Um solche Treiber zu ermitteln, hat Microsoft Driver Verifier in Windows XP SP 2 integriert. Damit ein Treiber überhaupt unter Windows funktioniert, muss der Aufbau den Richtlinien von Microsoft folgen. Diese verlangen, dass alle Treiber für Windows 2000/XP über eine geschichtete Architektur verfügen. Diese auch als Driver Stack bezeichnete Architektur teilt den Treiber in drei Bestandteile:
Klassentreiber: Implementiert Gemeinsamkeiten einer Geräteklasse; bei Festplatten macht das etwa die Datei DISK.SYS.
Porttreiber: Fügt Bus-spezifische Funktionen hinzu, etwa für PCI-Express oder IDE (ATAPI.SYS).
Miniporttreiber: Werden vom Gerätehersteller programmiert und ergänzen spezielle Funktionen von einzelnen Geräten.