Home · Kontakt · Impressum
contents index previous up next
Next: 10.6.1 mkfifo Up: 10. Partitionen und Dateien Previous: 10.5.4 swapoff

10.6 Verwaltung

Linux unterscheidet folgende Dateiarten

Gewöhnliche Dateien sind die Dateien, die mit einer mehr oder weniger gewöhnlichen Anwendung erzeugt werden - der Text, der mit einer Textverarbeitung erstellt wird, die Daten einer Datenbank-, die Tabelle eines Kalkulationsprogramms oder auch die Zeilen eines Shell-Skripts, Tabellen, die von LINUX zu diversen Verwaltungszwecken benutzt werden, wie etwa die Paßwortdatei /etc/passwd und nicht zuletzt Programmdateien. Gewöhnliche Dateien sind solche Dateien, deren Inhalt für den einzelnen Anwender direkt oder indirekt von Interesse ist (am Text den man geschrieben hat ist man direkt interessiert, der Inhalt der Datei /etc/passwd ist für jeden Anwender deshalb von Belang, weil über ihn der Zugang zum System ermöglicht sowie ein Teil der persönlichen Arbeitsumgebung bereitgestellt wird).

Verzeichnisse ermöglichen eine strukturierte Dateiverwaltung. Die Organisation der Daten wird durch sie wesentlich vereinfacht. Verzeichnisse sind Tabellen mit den Namen von Dateien sowie einem Vermerk, über den das System den Zugriff auf die Daten in den Dateien steuert. Die Anzahl der gewöhnlichen Dateien ist schon in einem Einplatzsystem wie DOS oder Windows 95 so groß, daß ein Ordnungsprinzip erforderlich wird. So war ein wesentlicher Grund für die erste Überarbeitung des Betriebsystems DOS (Einführung der Version 2.0) die Verwendung von Festplatten für den IBM PC-XT. Diese ermöglichten die Speicherung großer Datenmengen. Die Hierarchie der DOS-Dateiverwaltung kannte bis dahin in Anlehnung an das System CP/M Laufwerke (Disketten!) und Dateien. Da nun die Anzahl der Dateien sehr hoch sein konnte, führten die Microsoft-Programmierer in DOS die Verzeichnisse als Verwaltungsinstrument hinzu. Somit kennt DOS drei Hierarchieebenen in der Dateiverwaltung: Laufwerk (aus CP/M geerbt), Verzeichnisse und - natürlich - gewöhnliche Dateien. Daß dabei die Verzeichnisse und ihr Handling im wesentlichen aus Unix übernommen wurden, erleichtert es den heutigen LINUX-Programmierern, den Zugriff auf DOS-Daten zu realisieren; denn Dateien und Verzeichnisse sind in DOS und LINUX prinzipiell sehr ähnlich.

Gerätedateien vereinfachen den Zugriff des Anwenders auf die Hardware. Sie sind im Prinzip Verweise auf die entsprechenden Treiber im LINUX-Kernel. Sollen etwa Daten auf den Bildschirm ausgegeben werden, so kann der Prozeß, der diese Aufgabe zu erledigen hat, die Daten einfach in die zugehörige Gerätedatei, dies könnte z. B. tty01 sein, kopieren. Dadurch wird der zuständige Gerätetreiber im Kernel zur Ausgabe auf dem Bildschirm veranlaßt.

Named Pipes oder FIFOs sind eines der vielen Mittel, die LINUX für die Kommunikation zwischen Prozessen (kurz IPC für Inter Process Communication) bereitstellt. Vereinfacht gesagt ist ein Prozeß ein laufendes Programm. Solch ein Prozeß kann Daten in eine FIFO schreiben, die dann von einem anderen Prozeß gelesen werden können. Eine Variante dieser Möglichkeit des Datenaustausches zwischen Programmen kennen wir schon. Eine Kommandozeile wie
ls -l | more
dürfte Ihnen in ihrer Bedeutung klar sein.10.5 Der Befehl ls leitet seine Daten statt auf den Bildschirm an den Pager more weiter, der sie so bearbeitet, daß er sie bildschirmseitenweise anzeigt. Bei Linux handelt es sich um temporäre Objekte, die von Prozessen benutzt werden können, die durch ein und dieselbe Befehlszeile gestartet wurden. Named Pipes dagegen werden als besondere Dateien angelegt und können von Prozessen benutzt werden, die unabhängig voneinander sind.

Sockets dienen, wenn man so will, ebenfalls der IPC. Dabei geht es aber nicht um Kommunikation zwischen Prozessen in einem LINUX/Unix-Rechner. Sockets ermöglichen Kommunikation über ein Netz hinweg. Dabei kann durchaus einer der beteiligten Kommunikationsteilnehmer ein Nicht-Unix -Programm sein, d.h. Sockets ermöglichen durchaus Kommunikation zwischen einem Prozeß, den ein Benutzer auf einem LINUX-Rechner startet einerseits, und einer DOS-Anwendung auf einem weit entfernten PC andererseits. Da nun DOS als Einplatzsystem keine Prozesse kennt, lassen sich Sockets nicht eindeutig der IPC zuordnen. Im wesentlichen steckt hinter den Sockets jedoch ein dem Pipelining verwandtes Prinzip des verbindungsorientierten Datenaustausches. Sie ermöglichen also die Weitergabe von Daten, in diesem Falle sogar via Netzwerk.

Links sind keine eigentlichen Dateien, sondern lediglich Verweise auf solche. Im Zusammenhang mit den Inodes werden wir Links genauer untersuchen können.



Unterabschnitte
contents index previous up next
Next: 10.6.1 mkfifo Up: 10. Partitionen und Dateien Previous: 10.5.4 swapoff
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang