Antworten:
Ein Gerätetreiber ist eine Software, die einen bestimmten Gerätetyp bedient oder steuert. Auf modernen monolithischen Kernel- Betriebssystemen sind diese normalerweise Teil des Kernels. Viele monolithische Kernel, einschließlich Linux, sind modular aufgebaut, sodass ausführbare Module zur Laufzeit geladen werden können. Gerätetreiber verwenden diese Funktion normalerweise, obwohl nichts verhindert, dass die Gerätetreiber in das Kernel-Image kompiliert werden.
Eine Gerätedatei ist eine Schnittstelle für einen Gerätetreiber, die in einem Dateisystem wie eine normale Datei angezeigt wird. In Unix-ähnlichen Betriebssystemen befinden sich diese normalerweise im /dev
Verzeichnis und werden auch als Geräteknoten bezeichnet . Eine Gerätedatei kann Zeichengeräte darstellen , die stromweise Zeichendaten senden, oder Geräte blockieren, die den wahlfreien Zugriff auf Datenblöcke ermöglichen.
Geräteknoten werden durch den mknod
Systemaufruf erstellt. Die vom Geräteknoten bereitgestellte Kernelressource wird durch eine Haupt- und eine Nebennummer identifiziert . In der Regel identifiziert die Hauptnummer den Gerätetreiber und die Nebennummer ein bestimmtes Gerät, das der Treiber steuert.
Was die Gerätedatei zu enthalten scheint, hängt davon ab, was die Gerätetreiber über die Gerätedatei verfügbar machen. Beispielsweise macht die Zeichengerätedatei, die die Maus darstellt, /dev/input/mice
die Bewegung der Maus als Zeichenstrom verfügbar, während die Blockgerätedatei, die eine Festplatte darstellt , beispielsweise /dev/sda
die adressierbaren Speicherbereiche des Geräts verfügbar macht. Einige Gerätedateien nehmen auch Eingaben entgegen, sodass Benutzerbereichsanwendungen mit dem Gerät kommunizieren können, indem sie in die Gerätedatei schreiben.
/dev/input/mice
die Bewegung der Maus als Zeichenstrom verfügbar, während das Blockgerät, das eine Festplatte darstellt, beispielsweise /dev/sda1
die adressierbaren Speicherbereiche verfügbar macht.
Hinzufügen zu dem, was Thomas Nyman sagte,
Bevor Geräte verwendet werden, muss es auf den Dateisystemobjekten bereitgestellt werden, da alles unter Linux eine Datei ist und einige der Geräte automatisch wie USB, Festplatte usw. automatisch bereitgestellt werden.
Damit die neuen Geräte mit dem System interagieren können, verfügt der Gerätetreiber über ein Softwareprogramm, das die Gerätedatei verwendet.
Im Grunde genommen bietet die Gerätedatei eine Schnittstelle zum Gerätetreiber. Sie können Ihren eigenen Gerätetreiber unter Linux mit c schreiben.