Was ist ein Gerätetreiber?

Was ist ein Gerätetreiber?

Dies ist eine häufige Frage. Einfach ausgedrückt ist ein Gerätetreiber eine Software, die es Ihnen ermöglicht, eine Hardware wie einen Drucker oder eine Kamera mit einem Betriebssystem wie Windows, macOS oder Linux zu verwenden. Ohne diese normalerweise kleine Software weiß das Betriebssystem, wie es mit dem Gerät umgeht. Die meisten modernen Betriebssysteme installieren das Gerät automatisch, wenn es angeschlossen wird, und verwenden dabei eine ID, die für dieses Gerätemodell eindeutig ist.

Technisch gesehen kommuniziert ein Treiber normalerweise mit dem Gerät über den Computerbus oder das Kommunikationssubsystem, mit dem die Hardware verbunden ist. Wenn ein aufrufendes Programm eine Routine im Treiber aufruft, gibt der Treiber Befehle an das Gerät aus. Sobald das Gerät Daten an den Treiber zurücksendet, kann der Treiber Routinen im ursprünglich aufrufenden Programm aufrufen. Treiber sind hardwareabhängig und betriebssystemspezifisch. Sie stellen normalerweise die Interrupt-Verarbeitung bereit, die für jede erforderliche asynchrone zeitabhängige Hardwareschnittstelle erforderlich ist.

Virtuelle Gerätetreiber:

Virtuelle Gerätetreiber stellen eine besondere Variante von Gerätetreibern dar. Sie werden verwendet, um ein Hardwaregerät zu emulieren, insbesondere in Virtualisierungsumgebungen, beispielsweise wenn ein DOS-Programm auf einem Microsoft Windows-Computer ausgeführt wird oder wenn ein Gastbetriebssystem beispielsweise auf einem Xen-Host ausgeführt wird. Anstatt dem Gastbetriebssystem den Dialog mit der Hardware zu ermöglichen, übernehmen virtuelle Gerätetreiber die entgegengesetzte Rolle und emulieren ein Stück Hardware, sodass das Gastbetriebssystem und seine Treiber, die in einer virtuellen Maschine ausgeführt werden, die Illusion haben können, auf echte Hardware zuzugreifen. Versuche des Gastbetriebssystems, auf die Hardware zuzugreifen, werden beispielsweise als Funktionsaufrufe an den virtuellen Gerätetreiber im Hostbetriebssystem weitergeleitet. Der virtuelle Gerätetreiber kann auch simulierte Ereignisse auf Prozessorebene wie Interrupts an die virtuelle Maschine senden