Gerätedateien (device files) ermöglichen Anwendungsprogrammen unter Benutzung des Kernels den Zugriff auf die Hardwarekomponenten (devices) des Systems. Es handelt sich nicht um »Dateien« im eigentlichen Sinn, aber aus der Sicht eines Programms erscheinen sie wie Dateien -- Sie können aus diesen Dateien lesen, dorthin schreiben, sie mit mmap() benutzen usw. Wenn Sie auf eine solche Gerätedatei zugreifen, erkennt der Kernel die E/A-Anforderung und reicht sie an einen Gerätetreiber weiter, der die entsprechende Operation ausführt; etwa Daten aus einer seriellen Schnittstelle lesen oder Daten an eine Soundkarte schicken.
Jedes Gerät unter Linux wird durch eine Datei im Verzeichnisbaum /dev/ angesprochen.
Blockorientierte Geräte:
Blockorientierte Geräte übertragen Daten in Blöcke und werden daher oft für parallele Datenübertragungen genutzt.
Beispiele:
Zeichenorientierte Geräte:
Zeichenorientierte Geräte übertragen ein Zeichen zur selben Zeit, also seriell. Meist, aber nicht immer, werden Daten ungepuffert, also sofort übertragen.
Beispiele:
Virtuelle Gerätedateien:
Einen Spezialfall stellen die virtuellen Gerätedateien dar. Bei diesen handelt es sich um Gerätedateien, mit denen kein echtes Gerät gesteuert wird.
Beispiele: