GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied zwischen Gerätedatei und Gerätetreibern

Ein Gerätetreiber ist eine Software, die einen bestimmten Gerätetyp betreibt oder steuert. Auf modernen Betriebssystemen mit monolithischem Kernel 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 nutzen diese Funktion häufig, obwohl nichts daran hindert, die Gerätetreiber in das Kernel-Image zu kompilieren.

Eine Gerätedatei ist eine Schnittstelle für einen Gerätetreiber, der in einem Dateisystem so erscheint, als wäre es eine gewöhnliche Datei. In Unix-ähnlichen Betriebssystemen sind diese normalerweise unter dem /dev zu finden Verzeichnis und werden auch Geräteknoten genannt . Eine Gerätedatei kann Zeichengeräte darstellen , die Stream-Daten zeichenweise ausgeben oder Geräte blockieren die einen wahlfreien Zugriff auf Datenblöcke ermöglichen.

Geräteknoten werden vom mknod erstellt Systemaufruf. Die vom Geräteknoten bereitgestellte Kernel-Ressource wird durch eine Haupt- und eine Nebennummer identifiziert. Typischerweise identifiziert die Major-Nummer den Gerätetreiber und die Minor-Nummer identifiziert ein bestimmtes Gerät, das der Treiber steuert.

Was die Gerätedatei zu enthalten scheint, hängt davon ab, was die Gerätetreiber durch die Gerätedatei verfügbar machen. Zum Beispiel die Zeichengerätedatei, die die Maus darstellt, /dev/input/mice stellt die Bewegung der Maus als Zeichenstrom dar, während die Blockgerätdatei eine Festplatte darstellt, wie z. B. /dev/sda , legt die adressierbaren Bereiche des Speichers des Geräts offen. Einige Gerätedateien nehmen auch Eingaben entgegen, sodass Benutzerbereichsanwendungen mit dem Gerät kommunizieren können, indem sie in seine Gerätedatei schreiben.


Linux
  1. Unterschied zwischen SAN und NAS

  2. Der Unterschied zwischen [[ $a ==Z* ]] und [ $a ==Z* ]?

  3. Der Unterschied zwischen symbolischen und harten Links?

  4. Was ist der Unterschied zwischen fsync und syncfs?

  5. Unterschied zwischen pts und tty

Unterschied zwischen Softlinks und Hardlinks in Linux

Unterschied zwischen $HOME und '~' (Tilde)?

Unterschied zwischen Gerätedatei und Gerätetreiber

Unterschied zwischen Cgroups und Namespaces

Was ist der Unterschied zwischen Kerneltreibern und Kernelmodulen?

Was ist der Unterschied zwischen partx und kpartx?