Gerätetreiber
Was ist ein Gerätetreiber?
Ein Gerätetreiber oder Treiber ist ein spezielles Softwareprogramm, das ein bestimmtes Hardwaregerät steuert, das an einen Computer angeschlossen ist. Gerätetreiber sind für den ordnungsgemäßen Betrieb eines Computers unerlässlich. Außerdem funktioniert die entsprechende Hardware ohne einen Gerätetreiber nicht wie erwartet.
Gerätetreiber bieten eine Softwareschnittstelle für angeschlossene Hardware, die es dem Betriebssystem (OS) und anderen Anwendungen ermöglicht, auf die Funktionen dieser Hardware zuzugreifen. Es gibt zum Beispiel Gerätetreiber für Tastaturen, Mäuse und Drucker.
Diese Programme sind kompakt, aber sie ermöglichen es dem Computer, mit der Hardware zu interagieren und mit Netzwerken, Storage und Grafiken zu arbeiten.
Gerätetreiber sind hardwareabhängig und spezifisch für das Betriebssystem. Sie kommunizieren mit der Computerhardware über einen Computerbus oder ein Kommunikationssubsystem, das mit der Hardware verbunden ist.

Die Begriffe Hardwaretreiber und Softwaretreiber können austauschbar mit Gerätetreibern verwendet werden. Hardware- und Softwaretreiber werden jedoch verwendet, um die Art der Verbindung hervorzuheben.
Wie funktionieren Gerätetreiber?
Gerätetreiber laufen in der Regel auf einer hohen Berechtigungsebene innerhalb der Betriebssystem-Laufzeitumgebung. Einige Gerätetreiber sind direkt mit dem Betriebssystem-Kernel verknüpft – einem Kernstück des Betriebssystems, das Systemressourcen und Hardware verwaltet. Diese Gerätetreiber ermöglichen eine effizientere Kommunikation und Kontrolle über Hardwaregeräte.
Ein Teil eines Betriebssystems – wie Windows, Linux oder macOS – bleibt im Memory resident. Das bedeutet, dass ein Teil des Betriebssystems im RAM des Computers geladen bleibt, während das System läuft, und die Ausführung für alle anderen Codes, einschließlich der Gerätetreiber, übernimmt. Gerätetreiber leiten Anforderungen für den Gerätezugriff und Aktionen des Betriebssystems und seiner aktiven Anwendungen an ihre jeweiligen Hardwaregeräte weiter. Sie liefern auch Ausgaben oder Statusmeldungen von den Hardwaregeräten an das Betriebssystem und damit an die Anwendungen.
Die meisten Softwareprogramme müssen aufgrund der Arbeit der Gerätetreiber nicht wissen, wie sie direkt mit der Hardware arbeiten können. Stattdessen müssen das Programm und der Treiber nur wissen, wie sie miteinander kommunizieren können.
In den meisten Fällen werden Treiber automatisch installiert und erfordern keine weitere Aufmerksamkeit. Einige Treiber erfordern jedoch gelegentlich eine Aktualisierung.
Zweck von Gerätetreibern
Gerätetreiber sind notwendig, damit ein Computer eine Schnittstelle zu bestimmten Geräten bilden und mit diesen interagieren kann. Sie definieren die Nachrichten und Mechanismen, mit denen der Computer – das Betriebssystem und die Anwendungen – auf das Gerät zugreifen oder Anforderungen an das Gerät stellen kann. Sie verarbeiten auch die Antworten und Nachrichten des Geräts, die an den Computer weitergeleitet werden.
Gerätetreiber fungieren im Wesentlichen als Übersetzer für Hardwaregeräte und das Betriebssystem und die damit verbundenen Anwendungen.
Arten von Gerätetreibern
Hardwaregeräte gehören in der Regel zu einer bestimmten Klasse, wie zum Beispiel Bluetooth oder 802.11xx Wireless Networking. Die Erstellung eines bestimmten Gerätetreibers beginnt mit der Arbeit innerhalb seines Klassenrahmens. Innerhalb dieser Klasse fällt ein bestimmter Gerätetyp – zum Beispiel Bluetooth-Audio, Tastaturen oder Mäuse – ebenfalls in einen entsprechenden Treiberrahmen.
Schließlich interagiert die Treibersoftware für ein bestimmtes Gerät innerhalb seines Klassen- und Typ-Frameworks mit diesem Gerät unter Verwendung seines nativen Befehlssatzes und seiner Datenverarbeitungsfunktionen, wie sie vom Hersteller definiert und veröffentlicht wurden. Darüber hinaus können Gerätetreiber auf physische Geräte – tatsächliche Hardware – oder auf virtuelle Geräte, die Emulationen von Hardware in einem Softwareprogramm sind, zugreifen. Erstere werden als physische Treiber, letztere als virtuelle Treiber bezeichnet.
Es gibt mehrere verschiedene Arten von Gerätetreibern, darunter die folgenden:
- BIOS: Diese Treiber sind für das Booten des Computers, die Durchführung von Starttests und die Bereitstellung von Treibern für grundlegende Hardware zuständig. BIOS-Gerätetreiber befinden sich im Read-Only Memory (ROM).
- Blocktreiber: Diese Treiber bieten einen strukturierten Zugriff auf die Hardware. Sie verwendeten Dateisystempuffer, um E/A-Operationen zu reduzieren.
- Zeichentreiber: Diese Treiber bieten einen unstrukturierten Zugriff auf die entsprechende Hardware. Daten werden zu und von Geräten übertragen, ohne dass spezifische Geräteadressen genutzt werden. Sie bieten auch Schnittstellen für E/A-Steuerungsbefehle, Memory Mapping und Geräteabfragen.
- Kernel-Gerätetreiber: Diese Treiber werden mit dem Betriebssystem für Kernhardware wie zum Beispiel Prozessoren geladen. Sie ermöglichen eine effizientere Kommunikation und Kontrolle über Hardwaregeräte. Sie arbeiten schichtweise, wobei Treiber auf höherer Ebene Daten filtern, bevor sie sie an Treiber auf niedrigerer Ebene weitergeben.
- Motherboard-Treiber: Diese Treiber ermöglichen grundlegende Computerfunktionen und die Anbindung von Peripheriegeräten an das Betriebssystem. Sie sind spezifisch für Chipsatzmodelle und benötigen möglicherweise zusätzliche Treiber für die volle Funktionalität.
- Open-Source-Treiber: Diese Treiber sind unter einer Open-Source-Lizenz kostenlos erhältlich. Sie sind oft transparent, da der Quellcode für jedermann zugänglich ist, so dass eine Überprüfung auf bösartigen Code möglich ist.
- OEM-Treiber (Original Equipment Manufacturer): OEM-Treiber werden von Originalgeräteherstellern erstellt. Es handelt sich um proprietäre Treiber, die separat installiert werden, um die Funktionalität zusätzlicher Hardware zu ermöglichen.
- Benutzermodusgerätetreiber: Diese Treiber werden im Benutzermodus ausgeführt und verwalten externe Geräte, an die Benutzer eine Verbindung herstellen können. In Windows sind sie die Schnittstelle zwischen Anwendungen und Kernel-Mode-Treibern.
- virtuelle Gerätetreiber: Diese Treiber steuern virtuelle Maschinen. Virtuelle Gerätetreiber emulieren die Hardware des Host-Geräts.
Beispiele für Gerätetreiber
Wenn ein Administrator den Befehl in Microsoft Windows innerhalb der PowerShell oder in der Befehlszeile ausführt, wird eine Liste aller auf dem Hostcomputer installierten Gerätetreiber erstellt. Bei Linux und macOS führt die Ausführung des Befehls an einer Eingabeaufforderung ebenfalls Gerätetreibermodule auf. Es ist nicht ungewöhnlich, dass ein typisches Notebook oder Desktop-PC als Antwort Hunderte von Gerätetreibern auflistet.
Die Untersuchung dieser Ausgabe liefert nützliche Treiberinformationen, einschließlich des Modulnamens, des Treibertyps und des Anzeigenamens, der zur Identifizierung eines Treibers verwendet wird. Im Folgenden finden Sie ein kurzes Beispiel aus Windows 10.
Module Name Display Name Driver Type Link Date
============ ====================== ============= ====================
1394ohci 1394 OHCI Compliant Ho Kernel
3ware 3ware Kernel 5/18/2015 5:28:03 PM
ACPI Microsoft ACPI Driver Kernel
AcpiDev ACPI Devices driver Kernel
Es gibt viele verschiedene Arten von Geräten, die auch ihre eigenen Treiber haben können. Einige dieser Beispiele sind die folgenden:
- Bluetooth-Treiber
- Maustreiber
- Treiber für Digitalkameras
- Grafikkartentreiber
- Tastaturtreiber
- Motherboard-Treiber
- Netzwerkkartentreiber
- PC-Chipsatz-Treiber
- Druckertreiber
- Soundkartentreiber
- Storage-Controller-Treiber
- USB-Treiber
- Videokartentreiber
Gerätetreibersoftware
In den Anfängen der Programmierung wurden Gerätetreiber oft in Assembler-Sprache geschrieben, einer Low-Level-Sprache, die sofort und direkt auf Hardware- und Zentralprozessorbefehle zugreifen kann. Heute arbeiten die meisten Programmierer, die Gerätetreiber schreiben, entweder in den Programmiersprachen C oder C++, da diese einen hervorragenden Zugang zu Low-Level-Befehlen sowie zu komplexeren Programm- und Datenstrukturen bieten.
Bei Testen von Gerätetreibern müssen sowohl Sicherheits- als auch Betriebsaspekte berücksichtigt werden. Da solche Software mit hohen Privilegien ausgeführt wird, kann sie zu einer Beeinträchtigung des Systems oder zu Schwachstellen auf der Sicherheitsseite oder zu einem völligen Versagen aufgrund von Abstürzen oder Einfrieren und Leistungsproblemen auf der Betriebsseite führen.