Die Windows Driver Foundation: Neue Vista-Treibermodelle

Mit Windows Vista hat Microsoft ein neues Treibermodell vorgestellt, das eine einheitliche und vereinfachte Erstellung unterschiedlicher Treiber ermöglichen soll. Im neuen Windows Driver Kit (WDK) ist die entsprechende Software mit enthalten, die einen genaueren Blick verlangt.

Mit Windows Vista hat Microsoft ein neues Treibermodell vorgestellt, das eine einheitliche und vereinfachte Erstellung unterschiedlicher Treiber ermöglichen soll. Im neuen Windows Driver Kit (WDK) ist die entsprechende Software mit enthalten, die einen genaueren Blick verlangt.

 

Mit dem Windows Driver Model (WDM) schuf Microsoft vor zehn Jahren eine gemeinsame Treiberplattform für die damals aktuellen Systeme Windows 98 und Windows 2000. Hiermit war es erstmals möglich, sowohl für die DOS- als auch für die NT-basierten Microsoft-Betriebssysteme ein einheitliches Treiberkonzept (Device Drivers) für Hardware-Einheiten umzusetzen. Das WDM ermöglicht eine Vereinheitlichung der Treiber für damals noch neue Technologien wie USB und Firewire (IEEE 1394), denn es müssen nicht mehr zwei unterschiedliche Treiberarchitekturen (VxDs, NT Driver Model) berücksichtigt werden, was das Erstellen von Treibern deutlich verbessert und erleichtert.

WDM stellt sich als ein Framework dar; es bietet einen Rahmen für die zu erstellende Applikation, in diesem Fall für einen Gerätetreiber, der durch das Framework benutzt und gesteuert wird. Von den aktuellen Systemen (Vista, Server 2008) wird es auch weiterhin unterstützt.

Als wesentliche Kritikpunkte gelten bei WDM-Programmierern, dass der zu erstellende Code für das, was er eigentlich bewirken soll, zu komplex und zu umfangreich erscheint. Insbesondere die Implementierung von Plug&Play- sowie von Stromspar-Mechanismen gilt als ein verhältnismäßig schwieriges und code-aufwendiges Unterfangen, zumal es in den letzten Jahren auf diesem Gebiet mit ACPI (Advanced Configuration and Power Management Interface) einiges an Erweiterungen gegeben hat, die das WDM in seiner ursprünglichen Auslegung noch nicht berücksichtigen konnte.