Freigeben über


Typen von Windows-Treibern

Es gibt zwei grundlegende Arten von Microsoft Windows-Treibern:

  • Benutzermodustreiber werden im Benutzermodus ausgeführt und stellen in der Regel eine Schnittstelle zwischen einer Win32-Anwendung und Kernelmodustreibern oder anderen Betriebssystemkomponenten bereit.

    In Windows Vista werden beispielsweise alle Druckertreiber im Benutzermodus ausgeführt. Weitere Informationen zu Druckertreiberkomponenten finden Sie unter Einführung in das Drucken.

  • Kernelmodustreiber werden im Kernelmodus als Teil der Führungskraft ausgeführt, der aus Betriebssystemkomponenten im Kernelmodus besteht, die E/A, Plug & Play Arbeitsspeicher, Prozesse und Threads, Sicherheit usw. verwalten. Kernelmodustreiber sind in der Regel mehrschichtige. Im Allgemeinen empfangen Treiber auf höherer Ebene in der Regel Daten von Anwendungen, filtern die Daten und übergeben sie an einen Treiber auf niedrigerer Ebene, der Gerätefunktionen unterstützt.

    Einige Kernelmodustreiber sind auch WDM-Treiber, die dem Windows-Treibermodell (WDM) entsprechen. Alle WDM-Treiber unterstützen Plug & Play und Energieverwaltung. WDM-Treiber sind für Windows 98/Me und Windows 2000 und höher quellkompatibel (aber nicht binärkompatibel).

    Wie das Betriebssystem selbst werden Kernelmodustreiber als diskrete, modulare Komponenten implementiert, die über einen klar definierten Satz von erforderlichen Funktionen verfügen. Alle Kernelmodustreiber stellen eine Reihe systemdefinierter Standardtreiberroutinen bereit.

Die folgende Abbildung unterteilt Kernelmodustreiber in mehrere Typen.

Diagramm zur Veranschaulichung der Typen von Kernelmodustreibern.

Wie in der Abbildung dargestellt, gibt es drei grundlegende Typen von Kernelmodustreibern in einem Treiberstapel: die höchste, die mittlere und die unterste Ebene. Jeder Typ unterscheidet sich nur geringfügig in der Struktur, aber stark in der Funktionalität:

  1. Treiber der höchsten Ebene. Treiber der obersten Ebene umfassen Dateisystemtreiber (FSDs), die Dateisysteme unterstützen, z. B.:

    • NTFS

    • Dateizuordnungstabelle (FAT)

    • CD-ROM-Dateisystem (CDFS)

    Treiber der höchsten Ebene sind immer von der Unterstützung von zugrunde liegenden Treibern auf niedrigerer Ebene abhängig, z. B. Funktionstreiber auf mittlerer Ebene und Hardwarebustreiber der niedrigsten Ebene.

  2. Zwischentreiber, z. B. ein virtueller Datenträger, Spiegel oder gerätetypspezifischer Klassentreiber. Fortgeschrittene Treiber sind von der Unterstützung von zugrunde liegenden Treibern niedrigerer Ebene abhängig. Fortgeschrittene Treiber werden wie folgt weiter unterteilt:

    • Funktionstreiber steuern bestimmte Peripheriegeräte in einem E/A-Bus.

    • Filtertreiber fügen sich oberhalb oder unterhalb von Funktionstreibern ein.

    • Softwarebustreiber stellen eine Reihe von untergeordneten Geräten bereit, an die sich noch höherwertige Klassen-, Funktions- oder Filtertreiber selbst anfügen können.

      Beispielsweise ist ein Treiber, der einen Multifunktionsadapter mit einem On-Board-Satz heterogener Geräte steuert, ein Softwarebustreiber.

    • Jeder vom System bereitgestellte Klassentreiber , der eine systemdefinierte Klassen-/Miniklassenschnittstelle exportiert, ist tatsächlich ein Zwischentreiber mit einem oder mehreren verknüpften Miniklassentreibern (manchmal auch als Minitreiber bezeichnet). Jedes verknüpfte Klassen-/Minitreiberpaar bietet Funktionen, die der eines Funktionstreibers oder eines Softwarebustreibers entsprechen.

  3. Treiber der niedrigsten Ebene steuern einen E/A-Bus, an den Peripheriegeräte angeschlossen sind. Treiber der niedrigsten Ebene sind nicht von Treibern niedrigerer Ebene abhängig.

    • Hardwarebustreiber werden vom System bereitgestellt und steuern in der Regel dynamisch konfigurierbare E/A-Busse.

      Hardwarebustreiber arbeiten mit dem Plug & Play Manager zusammen, um Systemhardwareressourcen für alle untergeordneten Geräte zu konfigurieren und neu zu konfigurieren, die mit den vom Treiber gesteuerten E/A-Bussen verbunden sind. Diese Hardwareressourcen umfassen Zuordnungen für Den Gerätespeicher und Interruptanforderungen (IRQs). (Hardwarebustreiber subsumieren einige der Funktionen, die die HAL-Komponente in Versionen des Windows NT-basierten Betriebssystems vor Windows 2000 bereitgestellt hat.)

    • Legacytreiber , die ein physisches Gerät direkt steuern, sind Treiber der niedrigsten Ebene.