|
|
|
5.5 Spezielle Gerätedateien
Es befinden sich auch einige spezielle Einträge im /dev-Verzeichnis, die mit keiner Hardware verbunden sind. Hier einige der bekanntesten:
|
/dev/null – wird gerne verwendet, um unerwünschte Ausgaben auf die Standardausgabe zu beseitigen. Dabei wird einfach die Ausgabe mit programmname > /dev/null umgeleitet. Kurz: wird als Müllschlücker verwendet :-) |
|
/dev/zero – dabei handelt es sich um eine sehr lange Gerätedatei gefüllt mit 0 Bytes. /dev/zero wird besonders gerne verwendet als eine andere Art der Speicherreservierung mit mmap(). Damit ist es möglich, zwischen zwei verwandten Prozessen zu kommunizieren. Der Vorteil an dieser Methode … |
if((fd=open("/dev/zero", O_RDWR)) < 0) {
/* Fehler */
}
memoin=mmap(0,8192 ... );
|
... ist der, dass keine neue Datei mit dem Memory-Mapped-Aufruf mmap() erstellt werden muss (mehr zum Systemaufruf mmap() finden Sie im Anhang bei der Funktionsreferenz). |
|
|
|
Folgendes geschieht durch diesen Aufruf und ist zu beachten: |
|
|
Der Speicherbereich, der eingerichtet wird, ist namenlos.
Die Größe des Speicherbereichs wird mit dem zweiten Argument übergeben.
Dieser Speicherbereich wird mit 0 initialisiert.
Und WICHTIG! Wenn verwandte Prozesse ebenfalls auf diesen Speicherbereich zugreifen sollen, so müssen Sie das Flag MAP_SHARED angeben.
|
Natürlich kann /dev/zero auch als 2. Müllschlucker (im Falle des Schreibens) oder – als »sehr lange Gerätedatei« – als eine Gerätedatei, die unendlich viele binäre Nullen zurückgibt, verwendet werden. |
|
|
|
/dev/full – wird verwendet, um ein Programm beim Abspeichern einer Datei darauf zu testen, was passiert, wenn kein Platz mehr zum Speichern vorhanden ist. Jeder Kopiervorgang in die Datei /dev/full setzt errno auf ENOSPC, z. B.: |
$ cp datei /dev/full
cp: Schreiben von "/dev/full":
Auf dem Gerät ist kein Speicherplatz mehr verfügbar
|
/dev/random und /dev/urandom – wird zum Erzeugen von Zufallszahlen verwendet. /dev/random besteht aus reinen Zufallsquellen (also Maus, ansatzweise Tastatur, CPU-Temperatur oder Mainboard-Spannung etc.), wohingegen /dev/urandom wegen der Dauerverfügbarkeit auch aus weniger sicheren Datenquellen bezogen wird. /dev/random blockiert im Gegensatz zu /dev/urandom ggf. den Prozess, wenn keine Aktion mit der Tastatur oder der Maus stattfindet. Mit /dev/urandom hingegen wird die Erzeugung einer Zufallszahl nicht blockiert, da im Falle keiner Aktion ein Algorithmus zur Erzeugung der Zufallszahl verwendet wird. Zum besseren Verständnis wenden Sie einfach od auf beide Gerätedateien wie jeweils folgt an: |
$ od -t u1 /dev/random
$ od -t u1 /dev/urandom
|
/dev/pts/* – virtuelle Konsolen, die durch das Öffnen von /dev/ptmx entstehen (z. B. über xterms). |
|
|
|
|
|
|
|
Ihre Meinung? |
|
|
|
|
|
|
Lieferung |
|
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz Info
|
|
|
|