next up previous contents index
Next: Daten am laufenden Up: Das Verzeichnis /dev Previous: Runde Scheiben

Peripherie

Zusätzlich zu Tastatur und Bildschirm, die als Standardperipheriegeräte fast schon mit dem Computer an sich identifiziert werden, gibt es eine Reihe von externen Geräten, die über spezielle Schnittstellen an den Computer angeschlossen werden.

Busmäuse

  Linux unterstützt die Busmäuse von Logitech und die PS/2 Busmaus, die MicroSoft ÏnPortünd die ATI XL Busmaus. Die dazu gehörenden Gerätedateien werden von MAKEDEV unter den Namen /dev/logibm, /dev/psaux, /dev/inportbm und /dev/atibm angelegt.

/dev/cua?

       

Die Dateien /dev/cua? werden seit der Kernelversion 0.99.5 unterstützt und stellen die mit den Dateien /dev/ttyS? bereits abgebildeten seriellen Schnittstellen nocheinmal speziell für ausgehende Modemverbindungen (dial out) zur Verfügung.

Im Unterschied zu den ttyS? Devices werden die cua? Dateien automatisch non-blocking'', also unabhängig vom Carrier-Detect, geöffnet. Die cua? und die entsprechenden ttyS? Devices können nicht gleichzeitig geöffnet werden.

Wenn beispielsweise /dev/ttyS1 durch einen ankommenden Anruf geöffnet ist, wird jeder Versuch, das Device /dev/cua1 zu öffnen, mit der Fehlermeldung 'EBUSY' abgewiesen. Andererseits kann das /dev/ttyS1 Device nicht geöffnet werden, solange /dev/cua1 in Benutzung ist.

/dev/lp?

      

Die Gerätedateien /dev/lp? bilden die parallelen Druckerschnittstellen im Dateisystem ab. Wenn kein Druckerdämon im Hintergrund läuft, der die Druckjobs der Benutzer sofort abnimmt und zu einem geeigneten Zeitpunkt an einen Drucker weiterleitet, kann jeder Anwender seine Dokumente (in entsprechendem Format) direkt an einen Drucker schicken. Dazu kann zum Beispiel einfach das Kommando ` cat Datei > /dev/lp1' benutzt werden, das den Inhalt der Datei einfach als Datenstrom in die Gerätedatei schreibt. Der Kernel leitet dann den Datenstrom an den Drucker weiter; falls der Drucker dazu bereit ist und kein anderer Prozeß den Drucker belegt. Wenn ein Druckerdämon installiert ist, kann der direkte Zugriff auf den Drucker für die Systembenutzer verboten sein.

Wenn der Drucker aus irgendwelchen Gründen nicht bereit ist, Daten anzunehmen, gibt der Kernel automatisch eine Fehlermeldung aus. Ist das Gerät beispielsweise durch einen anderen Job belegt, wird der Anwender darauf hingewiesen.

   Normalerweise wird die parallele Schnittstelle im polling-Mode betrieben. Das bedeutet, beim Senden von Daten an den Drucker wird in einer Warteschleife der Status des Druckers dauernd abgefragt. Nur im Fall der Bereitschaft werden Zeichen an den Drucker geschickt.

Um den mit dieser Betriebsart verbundenen Rechenaufwand zu vermindern, kann der Drucker auch interruptgesteuert betrieben werden. Zu diesem Zweck muß der Druckertreiber im Kernel mit dem lpcntl-Programm initialisiert werden. Die Druckerschnittstelle /dev/lp1 kann beispielsweise in der rc.local Datei mit der folgenden Zeile auf Interruptsteuerung umgestellt werden:

# Interruptsteuerung für LPR1 IRQ 7 (Standard)
lpcntl /dev/lp1 7

/dev/tty? und /dev/console

   

Hinter den Gerätedateien /dev/tty? verbergen sich die virtuellen Terminals. Ein Terminal besteht aus einem Bildschirm und einer Tastatur. Die Anzahl der virtuellen Terminals wird beim Übersetzen des Kernels festgelegt und beträgt normalerweise acht. /dev/console und /dev/tty0 sind Synonyme für das aktuelle Terminal. Zwischen den virtuellen Terminals kann mit den Tastenkombinationen ALT-F1 bis ALT-F8 umgeschaltet werden.

Auf allen virtuellen Terminals kann ein login erfolgen, wenn für das entsprechende Terminal vom init Prozeß ein getty gestartet wurde.

Das reale Terminal und die reale Tastatur werden durch die Gerätedatei /dev/tty im Dateisystem abgebildet.

/dev/ttyp* und /dev/ptyp*

Die Spezialdateien /dev/ptyp? werden vom X11 Server (Master) bedient, der darüber mit den X-Terminals an den /dev/ttyp? (Slaves) kommunizieren kann.

/ dev/ttyS*

       

Die /dev/ttyS? Dateien bilden die seriellen Schnittstellen (Drucker, ASCII-Terminals, Maus oder Modem) in das Dateisystem ab.

Seit der Kernelversion 0.99.5 sind alle seriellen Schnittstellen zweimal im Dateisystem abgebildet, einmal als /dev/ttyS? und ein zweites als /dev/cua?. Im Unterschied zu den cua? Devices blockieren die ttyS? Gerätedateien normalerweise jeden Versuch, das Device zu öffnen, solange, bis die entsprechende /dev/cua? Datei geschlossen ist und ein Carrier-Detekt von der seriellen Schnittstelle gemeldet wird.

Ein auf der Modemleitung /dev/ttyS1 wartendes getty wird beispielsweise automatisch solange blockiert, bis das Modem die Carrier-Detect Leitung ''hochßetzt. Wenn in diesem Moment die Datei /dev/cua1 geöffnet ist (weil gerade ein ausgehender UUCP-Call das Modem belegt, der Carrier also zu dieser Verbindung gehört), wird das getty weiter blockiert. Erst wenn ein auf Äuto-Answer'' gesetztes Modem eine ankommende Modemverbindung registriert, wird die von getty angeforderte Gerätedatei /dev/ttyS1 geöffnet und dadurch das login auf diesem Port eingeleitet.

Die Blockierung des open(2) Systemaufrufs für die Devices /dev/ttyS? kann durch den Modus `O_NONBLOCK' (`O_NDELAY') umgangen werden. Das so geöffnete Device verhält sich dann wie das entsprechende /dev/cua?.

/dev/audio /dev/dsp /dev/midi /dev/mixer /dev/sequencer

Diese Gerätedateien sind für Soundkarten und daran angeschlossene Audiogeräte.

Über /dev/audio können im u-law Verfahren codierte Audiodaten abgespielt oder aufgenommen werden, /dev/dsp (digital sampling device) spielt oder liefert rohe Samples.



next up previous contents index
Next: Daten am laufenden Up: Das Verzeichnis /dev Previous: Runde Scheiben



Linux Anwenderhandbuch -- Copyright 1993, 1994, 1995 S. Hetze, D. Hohndel, O. Kirch, M. Müller