1.4.3. Dateisystem#

Motivation#

Alle Computeranwendungen müssen Informationen abspeichern und wiederfinden können. Um Daten auch nach dem Abschalten des Computers zu erhalten – Arbeitsspeicher funktioniert nur mit Energieversorgung – werden diese auf eine Festplatte oder SSD geschrieben. Die Organisation der Daten erfolgt in Dateien, welche wiederum in Verzeichnissen eines Dateisystems eingebettet sind.

Somit kann sichergestellt werden, dass

  • sobald ein Prozess terminiert wird, alle Informationen nicht verloren werden. Diese müssen zur Laufzeit in einer Datei gespeichert werden und

  • Informationen für mehrere Prozesse gleichzeitig zur Verfügung stehen können – Kommunikation über das Dateisystem.

Dateien#

Eine Datei bezeichnet eine Einheit zusammengehöriger Daten, die auf einem beliebigen Datenträger abgelegt bzw. gespeichert werden kann. Eine Datei besteht aus:

  • Dateninhalten: z.B. Messdaten, Texte, Programme. Je nach Datenformat können sie nur von spezieller Software interpretiert werden.

  • Attributen: z.B. Dateiname, Dateigröße, Erstellungsdatum, Datum der letzen Änderung, Zugriffsrechte.

Dateitypen#

Um den Typ (Text, Bild, PDF-Dokument, etc.) einer Datei zu kennzeichnen, werden Dateiendungen verwendet.

Welche Aktion mit dem Öffnen einer Datei verknüpft ist, ist meist im OS verankert. Dazu kommt auch die Unterscheidung von Daten und Programmen.

Beispiele:

  • .txt: einfache Textdatei, welche aus ASCII Zeichen besteht und von jedem Texteditor verstanden wird.

  • .py: Pythonskript, kann mit jedem Texteditor gelesen und verändert werden und von Python interpretiert werden.

  • .mp3: Audiodatei mit der MPEG Audio Layer III-Kodierung

  • .zip: ZIP-Archiv, komprimierter Dateikontainer

  • .exe oder .app: Programm für Windows oder OSX

Verzeichnisse#

Verzeichnisse organisieren Dateien. So werden Dateien, welche zum selben Kontext gehören zusammen in einem Verzeichnis bzw. Unterverzeichnissen abgelegt. Spezielle Verzeichnisse sind dem OS vorbehalten, andere sind für zentrale Software und für Benutzerdaten reserviert. Unter Windows werden Verzeichnisse Laufwerken (Festplatte, CD-ROM, Netzwerk) zugewiesen. Bei den UNIX-artigen Betriebssystemen existiert nur eine globale Verzeichnishierarchie.

../../../_images/verzeichnis.svg

Fig. 1.61 Verzeichnisstruktur#

Verzeichnisstrukturen verschiedener Betriebssysteme#

https://upload.wikimedia.org/wikipedia/de/1/1f/Filesystem.svg

Fig. 1.62 Übersicht verschidener Verzeichnisstrukturen, Quelle: Thomei08, Wikimedia#

Rechteverwaltung#

Bei der Entscheidung, welcher Nutzer eine Datei lesen oder schreiben darf, wird auf die entsprechenden Dateiattribute zugegriffen. Diese unterscheiden zwischen Benutzer, Gruppe und Andere. Unter Linux werden diese Rechte als folgende Abfolge von read (r), write (w) und execute (x) dargestellt, z.B.

> ll python-vorlesung3.pdf
-rw-r--r-- 1 larnold staff 112859 May 5 22:06 python-vorlesung3.pdf

Wobei folgende Kodierung verwendet wird:

../../../_images/rwx.svg

Fig. 1.63 Kodierung von Nutzerrechten#