close

Windows-Treibermodell

Zur Navigation gehen Zur Suche gehen

Windows Driver Model (WDM)  , ein Framework für Gerätetreiber (auch bekannt als Win32-Treibermodell und Windows NT-Treibermodell ), wurde in Windows 98 und Windows 2000 eingeführt , um das veraltete VxD zu ersetzen , das in älteren Windows-Versionen wie Windows verwendet wurde 95 und Windows 3.1 .

Übersicht

Das Microsoft Windows-Treibermodell definiert ein Treibermodell für Windows 98, Windows 2000 und spätere Betriebssysteme, standardisiert Anforderungen und reduziert Code. Gemäß dem Konzept von WDM können Treiber binärkompatibel sein . So kann beispielsweise ein für Windows 98 geschriebener x86 - Treiber mit Windows Me , Windows 2000 und sogar Windows Vista funktionieren . WDM-Treiber sind auf Aufwärtskompatibilität ausgelegt, sodass ein solcher Treiber auf einer neueren Version von Windows ausgeführt werden kann als der, für die er ursprünglich geschrieben wurde. Das bedeutet aber auch, dass der Fahrer die neuen Features der neuen Version des WDM-Frameworks nicht nutzen kann. WDM-Treiber sind meistens abwärtsinkompatibel . Das bedeutet, dass es keine Garantie dafür gibt, dass ein solcher Treiber auf einer Windows-Version läuft, die älter ist als die, für die er geschrieben wurde. Beispielsweise kann Windows XP einen Treiber verwenden, der für Windows 2000 geschrieben wurde, aber dieser Treiber kann die neuen Funktionen, die in Windows XP hinzugefügt wurden, nicht verwenden. Ein für Windows XP geschriebener Treiber kann jedoch unter Windows 2000 funktionieren oder nicht.

WDM-Treiber kommunizieren miteinander über E/A-Anforderungspakete (IRPs).

Die WDM-Technologie wurde entwickelt, um die Funktionalität zu erhöhen und das Schreiben von Treibern für Windows zu vereinfachen. Obwohl WDM in erster Linie für die Kompatibilität zwischen Windows 98 und Windows 2000 auf Binär- und Quellebene entwickelt wurde, wird dies oft nicht immer erwartet, und daher werden spezifische Treiber für jedes Betriebssystem separat entwickelt.

WDM-Treiber sind im Allgemeinen darauf ausgelegt, die Standardfähigkeiten des Haupttreibers zu erweitern.

VxD, WDM und Windows 99

Auf Windows 98 basierende Betriebssysteme (Windows 98, Windows 98 Second Edition und Windows Me) können sowohl WDM- als auch VxD -Treiberstandards verwenden . Beide Treibermodelle können einzigartige und unterschiedliche Funktionen für dasselbe Gerät bereitstellen. Der neuere WDM-Standard bietet jedoch in der Regel mehr Möglichkeiten. Wenn beispielsweise ein TV-Tuner einen VxD-Treiber verwendet, kann er ein Bild mit einer Auflösung von 384 × 288 Pixel aufnehmen. Derselbe TV-Tuner mit einem WDM-Treiber kann ein Bild mit 768 × 576 Pixel aufnehmen.

Kritik

Obwohl das Windows-Treibermodell eine deutliche Verbesserung gegenüber seinem Vorgänger VxD und Windows NT-Treibermodell darstellt, wurde es von Treiberentwicklern [1] hauptsächlich aus folgenden Gründen kritisiert:

  • WDM ist zu schwer zu lernen.
  • Komplexe Interaktion mit Energieverwaltung und Plug-and-Play- Ereignissen . Dies führt zu vielen Situationen, in denen Windows-basierte Computer aufgrund von Fehlern im Treibercode nicht in den Ruhezustand wechseln oder ordnungsgemäß aufwachen können.
  • I/O Cancellation ist fast unmöglich richtig zu identifizieren.
  • Jeder Treiber erfordert Tausende von Zeilen Begleitcode.
  • Es gibt keine Unterstützung für das Schreiben von "reinen" Benutzermodustreibern.

Es gab auch viele Probleme aufgrund der Qualität der von Microsoft bereitgestellten Dokumentation und Beispiele.

Aufgrund dieser Probleme hat Microsoft ein neues WDM-Ersatzframework namens Windows Driver Foundation veröffentlicht, das das Kernel-Mode Driver Framework (KMDF) und das User-Mode Driver Framework (UMDF) enthält. Windows Vista unterstützt sowohl WDM als auch die neue Windows Driver Foundation. KMDF steht auch für Windows XP und sogar Windows 2000 zum Download bereit, während UMDF nur ab Windows XP verfügbar ist.

Siehe auch

Literatur

  • Finnel, Lynn (2000). MCSE-Prüfung 70-215, Microsoft Windows 2000 Server . Microsoft Press . ISBN 1-57231-903-8 .
  • Oney, Walter (2003). Programmierung des Windows- Treibermodells , Microsoft Press , ISBN 0-7356-1803-8 .

Links

  • Windows Driver API Basics  - Ein Artikel über die Grundlagen der Entwicklung von Treibern für Soundkarten, wie WDM: ASIO , MME , DirectX , etc. (engl.)
  • Channel 9 Video  – Interview mit dem Microsoft Device Management and Installation Team, hauptsächlich Plug & Play
  • Kernel Survival Guide  – Ein kostenloses Lehrbuch, das die Grundlagen der Erstellung von Windows-Treibern, der Programmierung auf Kernel-Ebene und der Speicherverwaltung behandelt.