Unterschied zwischen Gerätedatei und Gerätetreibern

Antworten:

12

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 /devVerzeichnis 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 mknodSystemaufruf 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/micedie Bewegung der Maus als Zeichenstrom verfügbar, während die Blockgerätedatei, die eine Festplatte darstellt , beispielsweise /dev/sdadie 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.

Thomas Nyman
quelle
Gerätedatei ist also eine Schnittstelle zwischen Gerätetreiber und Gerät?
MSB
Was enthält die Gerätedatei tatsächlich und was macht sie?
MSB
2
@MSB In Unix-ähnlichen Betriebssystemen "Alles ist eine Datei" . Nach diesem Prinzip sind Gerätedateien die Dateisystemdarstellung der an den Computer angeschlossenen Geräte. Ihr Inhalt hängt davon ab, was die Gerätetreiber durch sie verfügbar machen. Beispielsweise macht das Zeichengerät, das die Maus darstellt, /dev/input/micedie Bewegung der Maus als Zeichenstrom verfügbar, während das Blockgerät, das eine Festplatte darstellt, beispielsweise /dev/sda1die adressierbaren Speicherbereiche verfügbar macht.
Thomas Nyman
Die Gerätedatei ist die Schnittstelle zwischen Programmen und dem Gerätetreiber. Der Gerätetreiber befindet sich im Kernel. Die Programme (Anwendungen) befinden sich im Benutzerbereich. Ein Programm kann über die entsprechende Gerätespezialdatei auf den Treiber im Kernel zugreifen.
mpez0
-2

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.

Abhishek DK
quelle