Dateien & Verzeichnisse Flashcards
Was ist eine Datei
eine Sammlung von Daten, die auf einem Computersystem gespeichert wird.
Jede Datei wird durch mindestens einen Pfad im Verzeichnisbaum identifiziert.
Der letzte Teil des Pfades heißt Dateiname und enthält oft eine Erweiterung, um das Dateiformat zu beschreiben.
Für jede Datei existiert eine Inode (index node) im Dateisystem, die Informationen zu der Datei verwaltet.
Dateiattribute
- Besitzer und Gruppe
- Größe
- Zugriffs- und Modifikationszeiten
- Zugriffsrechte
Zugriffsrechte
definieren, wer auf eine Datei zugreifen, sie lesen, schreiben oder ausführen darf.
In Linux/Unix werden Schutzbits auf drei Kategorien von Nutzern angewendet:
- den Eigentümer der Datei (user),
- die Gruppe (group), und
- alle anderen Nutzer (others).
Es gibt drei Arten von Berechtigungen: Lesen, Schreiben und Ausführen.
Was bedeuted [rwx r-x —]?
Der Eigentümer darf lesen, schreiben und ausführen, die Gruppe darf lesen und ausführen, andere haben keine Rechte.
Was heißt ‘644’ in der Oktalen Schreibweise?
Der Eigentümer hat Lesen und Schreiben, die Gruppe und andere haben jeweils Lesen.
Linux Dateitypen
- Reguläre Dateien: Enthalten Daten in einem bestimmten Format (z.B. Text, Binär).
- Verzeichnisse: Enthalten eine Liste von Dateinamen und Verweisen auf weitere Verzeichnisse.
- Symbolische Links: Verweisen auf eine andere Datei oder ein anderes Verzeichnis.
- Pipes und Sockets: Erlauben die Kommunikation zwischen Prozessen durch eine gemeinsame Datenleitung.
- Block Devices: Erlauben den sequentiellen Zugriff auf Datenträgerblöcke, z.B. Festplatten.
- Character Devices: Erlauben den zeichenweisen Zugriff auf Ein- und Ausgabegeräte, z.B. Tastaturen oder Drucker.
Was sind Dateiformate
Methode zur Standardisierung von Datenstrukturen und -inhalten. Sie definieren die Art und Weise, wie Daten organisiert und gespeichert werden.
Bsp.: Textdateien, Binärdateien, Audio- und Videodateien, Bilder
ELF-Dateiformat
ELF (Executable and Linkable Format) ist ein Dateiformat für ausführbare Programme, Bibliotheken und Core-Dumps (Speicherauszüge).
ELF-Dateien bestehen aus mehreren Abschnitten (Sections) wie dem
- Code- und Datenbereich,
- Symboltabelle
- anderen Metadaten.
Der Linux-Kernel und viele andere Unix-ähnliche Betriebssysteme laden und verarbeiten ELF-Dateien, um ausführbare Programme und Bibliotheken im Speicher zu erstellen und auszuführen.
Was bedeuten ‘.’ und ‘..’ im Verzeichnisnamen
’.’ bezieht sich auf das aktuelle Verzeichnis. (CWD)
’..’ bezieht sich auf das übergeordnete Verzeichnis.
Was sind Verknüpfungen (Links)?
Mechanismen in Unix/Linux Systemen, um auf Dateien zu verweisen, ohne eine Kopie erstellen zu müssen.
Es gibt zwei Arten von Links:
- Symbolische Links (auch Softlinks oder Symlinks genannt)
- Hardlinks
Symbolische Links
Diese Links beinhalten lediglich den Pfad zu der anderen Datei.
− Symbolische Links sind eigene Dateien mit Größe und Inhalt → es müssen zwei Dateien geöffnet werden um dem Link zu folgen.
− Wird die verknüpfte Datei gelöscht, ist der Link kaputt.
+ Symbolische Links können Filesystem-übergreifend erstellt werden.
Hardlinks
sind Einträge in einem Verzeichnis, die auf dieselbe Inode-Nummer wie eine andere Datei im Dateisystem verweisen. Alle Hardlinks der gleichen Datei sind äquivalent.
− Hardlinks können nur im selben Dateisystem erstellt werden wie die Originaldatei.
+ Hardlinks benötigen keine zusätzliche Datei.
+ Eine Datei wird erst gelöscht, wenn der letzte Hardlink auf sie gelöscht wird.
Dateisystem-Struktur
Metadaten zu jeder Datei werden zu einem File Control Block (FCB) zusammengefasst (=Inode).
Die oberste Schicht einer Dateisystem-Implementierung kümmert sich um die Zuordnung von Dateinamen zu FCBs und Einhaltung etwaiger Zugriffsregeln etc.
Weitere Schichten sind für die Verwaltung einzelner
physischer Datenblöcke zuständig.
Die untersten Schichten kümmern sich dann um den
konkreten Zugriff auf die Hardware.
Allocation Methods (speicher)
Zusammenhängende Blöcke
- Datei wird durch Start-Adresse und Länge definiert.
Linked List
- Jeder Block verlinkt nächsten Block.
Index Blocks
- Zentrale (Verwaltungs-)Blöcke verweisen auf alle weiteren (Daten-)Blöcke.
Welche Probleme treten bei der Verwendung von fixen Blockgrößen auf?
Externe Fragmentierung
* “Löcher” in sonst zusammenhängenden Abschnitten
Interne Fragmentierung
* Nicht vollständig genutzte Blöcke