andere Farbe:
andere Schriftgröße: 60% 70% 80% 90%

Gerätedateien unter Linux

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:

  • fd0:     1. Diskettenlaufwerk
  • hda:     IDE-Festplatte oder IDE-CD-ROM-Laufwerk am 1. Anschluss (Master)
  • hdb:     IDE-Festplatte oder IDE-CD-ROM-Laufwerk am 1. Anschluss (Slave)
  • hda1:     1.Partition der ersten IDE-Platte
  • hda4:     4. Partition der ersten IDE-Platte
  • sda:     SCSI-Platte (kleinste SCSI-ID) oder SATA-Platte
  • sdb:     SCSI-Platte (nächst größere SCSI-ID) oder SATA-Platte
  • sda1:     1. Partition der ersten SCSI-Platte oder SATA-Platte
  • sda5:     5. Partition der ersten SCSI-Platte oder SATA-Platte

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:

  • ttyS0:     1. Serielle Schnittstelle (unter Windows: COM1)
  • lp0:     1. Parallele Schnittstelle
  • lp1:     2. Parallele Schnittstelle
  • tty:     symbolische Links für Pseudoterminals

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:

  • /dev/null:      verwirft jede Eingabe ohne eine Ausgabe zu produzieren