close

Windows-Treibermodell

Zur Navigation springen Zur Suche springen

Das Windows- Treibermodell ist eine von Microsoft entwickelte, mit Windows 98 , Windows 2000 und Nachfolgern kompatible Treiberarchitektur .

Es war der Standard, nach dem die meisten Treiber für Microsoft-Betriebssysteme bis Windows XP geschrieben wurden; Windows Vista unterstützte auch WDM, obwohl dieses Betriebssystem ein neues Format für Treiber (die Windows Driver Foundations ) und viele neue Funktionen bei Verwaltung und Installation einführte. WDM-Treiberdateien haben die Erweiterung .sys .

Geschichte

Mit dem Aufkommen von 32-Bit-Betriebssystemen brachte Microsoft zwei Familien ähnlich aussehender, aber intern sehr unterschiedlicher Produkte auf den Markt: Windows 95 und Windows NT . Ersteres war ein direkter Nachkomme von Windows 3.x und DOS und sollte mit sehr eingeschränkter Hardware für ein mit GUI ausgestattetes Mehrbenutzer-/Multitasking-Betriebssystem (Intel 80386 mit 4 MB RAM ) funktionieren. Es musste auch mit aller Software kompatibel sein, die für 16-Bit-Windows und DOS entwickelt wurde. Um diese beiden Ergebnisse zu erzielen, entschied sich Microsoft für ein 16/32-Bit-Hybridsystem, mit einem hervorragenden Ergebnis angesichts der Voraussetzungen, aber nicht überragend in Bezug auf Sicherheit und Zuverlässigkeit. Windows NT hingegen war ein reines 32-Bit-Betriebssystem, viel zuverlässiger, aber schwer auf der damaligen Hardware und schlecht kompatibel mit 16-Bit-Software. Dieser architektonische Unterschied führte dazu, dass zwei inkompatible Versionen von Gerätetreibern entwickelt werden mussten, die Hardwarehersteller mussten, um sowohl Windows 95 als auch Windows NT zu unterstützen.

Um dieses Problem zu lösen, hat Microsoft für nachfolgende Versionen seiner Betriebssysteme ein neues Treibermodell namens Windows Driver Model entwickelt, ein bedeutender konzeptioneller Fortschritt, aber nicht schmerzlos. Die WDM-Treiber waren aufwärtskompatibel, aber nicht abwärtskompatibel : d.h. sie funktionierten mit Windows 98, Windows 2000, XP und ihren Nachfolgern, aber nicht mit Windows 95 und Windows NT 4 (oder wenn sie speziell für Windows XP geschrieben wurden, funktionierten sie mit Vista, aber nicht mit Windows 2000). Damit ein WDM-Treiber sowohl mit Windows 98 als auch mit Windows 2000 funktioniert, musste er sorgfältig geschrieben werden; Viele Hardwarehersteller hingegen veröffentlichten zunächst schnell und ohne Prüfung geschriebene WDM-Treiber, was den Benutzern viele Probleme bereitete und dazu beitrug, ein anfängliches (ungerechtfertigtes) Misstrauen gegenüber dem Windows-Treibermodell zu erzeugen.

Die WDM-Architektur ist zwar sehr komplex und nicht ohne Probleme, obwohl sie die Anzahl der Treiberversionen reduziert hat, die von Hardwareherstellern zur Unterstützung ihrer Produkte benötigt werden: Dies hat Microsoft dazu veranlasst, eine neue Treiberarchitektur, die Windows Driver Foundation , zu erstellen, die WDM in ersetzt Windows-Versionen 7 und höher.

WDM-Treibertypen

Das WDM-Format bietet die folgenden Arten von Treibern:

  • Klassentreiber : Diese können von Miniporttreibern oder anderen Klassentreibern abhängen und bestimmte Funktionen implementieren. Sie können dynamisch geladen und entladen werden, wenn sie nicht mehr benötigt werden, wie z. B. Linux-Kernel- Module .
  • Miniport-Treiber : sind Treiber für SCSI- und USB -Peripheriegeräte , Netzwerkschnittstellen und Audioperipheriegeräte. Sie sind spezifisch für ein einzelnes Hardwaregerät und müssen binärkompatibel zwischen Windows 98 und Windows 2000 sein. Sie greifen auf ihre Hardware über einen bestimmten Softwarebusklassentreiber zu.
  • Software-Bustreiber : Microsoft liefert Treiber für die gängigsten Busse (ISA/PNP, PCI, SCSI, USB, FireWire), die in seine Betriebssysteme integriert sind: Wenn es als notwendig erachtet wird, kann ein Hardwarehersteller seine eigenen schreiben.
  • Betriebssystemdienst : Dies sind sehr hochrangige Treiber, die normalerweise vollständig von der Hardware abstrahieren und sich nicht auf irgendwelche Miniport-Treiber beziehen.
  • Virtuelle Gerätetreiber : Sie sind ein Erbe älterer Windows-Versionen und werden für veraltete Hardware verwendet.
  • Windows NT 4.0-Treiber : wie oben, jedoch für Hardware, die für Windows NT 4 ausgelegt ist.

Eigenschaften

Anforderungen

Nicht alle Hardware kann von WDM-Treibern verwaltet werden: Beispielsweise kann Videohardware nicht von WDM verwaltet werden.

Nachteile

  • Es ist sehr schwierig zu lernen, wie man WDM-Gerätetreiber schreibt.
  • Problematisch ist das Zusammenspiel mit Plug and Play , erst recht die Verwaltung von Energiespar-Events. Dies führte zu Peripheriegeräten, die sich nicht ausschalteten, wenn das System in den Energiesparmodus wechselte, die das System daran hinderten, in den Ruhemodus zu wechseln, und / oder die sich aufgrund obskurer Fehler nicht wieder einschalten oder in den richtigen Zustand zurückkehren konnten, wenn das System aufgeweckt wurde im Code ihres Fahrers.
  • Es war praktisch unmöglich, eine laufende I/O zu unterbrechen, ohne das System instabil zu machen.
  • Jeder Treiber, selbst ein sehr einfacher, war Hunderte von Codezeilen lang.
  • Das WDM bietet fast keine Unterstützung für User-Mode-Treiber (das heißt, sie laufen nicht auf Ring 0).

Verwandte Artikel

Externe Links