systeme 1 kapitel 3 dateisysteme. hauptaufgaben: – organisation programmexterner daten...
TRANSCRIPT
![Page 1: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/1.jpg)
Systeme 1
Kapitel 3Dateisysteme
![Page 2: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/2.jpg)
Dateisysteme• Hauptaufgaben: – Organisation programmexterner Daten
• Progamminterne Daten werden direkt von Anwendungsprogrammen im zur Verfügung stehenden Arbeitsspeicher verwaltet.
– Definiert ein Ordnungs- und Zugriffssystem– Erlaubt den (gleichzeitigen) Zugriff mehrerer
Programme• Beispiel für ein einfaches Dateisytem:– RamFS / TempFS (Linux):
• Bereiche des Arbeitsspeichers werden als logisches Ordnungssystem genutzt.
![Page 3: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/3.jpg)
Dateisysteme• Persistente Dateisysteme– Daten werden persistent gesichert
• Daten sind von Lebensdauer von Programmen unabhängig.– Nutzung von externen Medien
• z.B. Platten, CD-ROM, Bänder– Erlaubt die Organisation von großen Datenmengen
• Daten müssen nicht vollständig in den Arbeitsspeicher geladen werden.
• Beispiele:– (V)FAT, NTFS (MS-DOS / Windows)– ext3, XFS, ReiserFS (Linux)– ISO 9660 (CD-ROM), UDF (ISO 13346) (DVD)
![Page 4: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/4.jpg)
Dateien• Dateien– Kleinste logische Einheit eines Dateisystems– Aus Sicht des Betriebssystems eine Sequenz von
Daten einer gegebenen Länge– Zugriff über Namen (Dateiname)
• Regeln variieren von System zu System– Beispiel: MS-DOS (FAT):
» Name: maximal 8 Zeichen» Dateierweiterung: maximal 3 Zeichen» Keine Unterscheidung zwischen Groß- und Kleinbuchstaben
– Beispiel: Linux (ext3)» Unterscheidung zwischen Groß- und Kleinbuchstaben » 255 Zeichen (ohne '/' und NUL ('\0'))
![Page 5: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/5.jpg)
Dateitypen• Reguläre Dateien
– beinhalten Benutzerdaten• Verzeichnisse (Directory)
– Systemdatei zur hierarchischen Organisation– beinhalten reguläre Dateien
• Gerätedateien – Blockbasiert
• Lesen und schreiben in Blöcken • z.B. Platten, Diskettenlaufwerke, ...
– Zeichenbasiert• Modellierung von Seriellen- und E/A-Geräten • z.B. Maus, Tastatur, Modem
• Symbolische Links • Pipes, Sockets ...
![Page 6: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/6.jpg)
Dateiattribute• Dateiattribute speichern Metadaten über Dateien• Beispiele:– Entstehungszeitpunkt (Datum, Uhrzeit)– Dateigröße– Zugriffsrechte:
Wer darf in welcher Weise auf die Datei zugreifen?• Zugriffsarten:
– Lesender Zugriff– Schreibender Zugriff– Ausführung
• Zugreifender– Dateieigentümer– Benutzergruppe des Dateieigentümers
![Page 7: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/7.jpg)
Beispiel: Dateiattribute unter Linux
$ ls –ldrwxr-x--- 6 admin users 4096 Dec 02 08:10 verzeichnis-rw-r----- 1 ann users 1804 Dec 05 19:30 datei1-rwxr--r-- 1 bob users 1804 Dec 01 20:22 datei2
• Bedeutung der Felder:– Typ des Eintrags: Datei, Verzeichnis– Rechte für Besitzer, Gruppenbesitzer, alle anderen– Anzahl Einträge (Verzeichnis), Anzahl Referenzen (Datei)– Besitzer, Gruppenbesitzer– Speicherplatzverbrauch– Datum der letzten Modifikation– Name
![Page 8: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/8.jpg)
Dateiattribute (Beispiele)
![Page 9: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/9.jpg)
Exkurs: Rechteverwaltung unter UNIX
• Standardrechte für Verzeichnisse und Dateien:– Dateien
• „r“: Datei darf gelesen werden• „w“: Datei darf geändert werden• „x“: Datei darf als Programm ausgeführt werden
– Verzeichnisse• „r“: Der Inhalt des Verzeichnisses darf gelesen werden• „w“: Der Inhalt des Verzeichnisses darf geändert werden:
Dateien anlegen, umbenennen, löschen• „x“: Man darf in das Verzeichnis wechseln und seine Objekte
benutzen
![Page 10: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/10.jpg)
Exkurs: Rechteverwaltung unter UNIX
• Sonderrechte:• Optische Notation bei ls:• -rwsr-s--- und drwxrwxrwt– Dateien:
• SUID-Prozess läuft unter der UID des Programmbesitzers• SGID-Prozess läuft mit der GID des
Programmgruppenbesitzers– Verzeichnisse:
• SUID: Ohne Verwendung• SGID: Neu angelegte Dateien gehören der Gruppe, der auch
das Verzeichnis gehört• SVTX: Jeder darf nur löschen, was ihm gehört
![Page 11: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/11.jpg)
Exkurs: Rechteverwaltung unter UNIX
• Beispiel SUID:-r-s--x--x … root root … /usr/bin/passwd
– Beim Aufruf von 'passwd' läuft das Programm mit der UID des Besitzers (in dem Fall root).
– SUID-root-Programme sind sicherheitskritisch!
• Beispiel SVTX:drwxrwxrwt … root root … /tmp
– SVTX verhindert, dass jeder alles löschen darf.
![Page 12: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/12.jpg)
Verzeichnisbaum• Baumartige hierarchische Strukturierung• Ausgangspunkt Wurzelverzeichnis (UNIX: '/')• Restliche Verzeichnisse baumartig angehängt
• Absolute Pfade beginnen mit '/', z.B. '/home/meier'• Relative Pfade beginnen nicht mit '/', z.B. 'schulze'• Relative Pfade beziehen sich auf ein aktuelles
Arbeitsverzeichnis (working directory).
![Page 13: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/13.jpg)
Dateizugriff• Sequentieller Zugriff:
– Alle Bytes einer Datei können nur nacheinander vom Anfang beginnend gelesen werden.
– Kein Überspringen– Zurückspulen möglich– Beispiel: (serielle) E/A-Gerätedateien, Bandlaufwerke
• Random-Access-Dateien (Dateien mit wahlfreiem Zugriff):– Lesen erfolgt von der gerade aktuellen Position– Beliebiges Festlegen der aktuellen Position durch Seek-
Operation möglich– Beispiel: Dateien auf Festplatten
![Page 14: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/14.jpg)
Dateienoperationen• Operationen entsprechen Systemaufrufen
– Create: Erzeugen– Delete: Löschen– Open: Öffnen– Close: Schließen– Read: Lesen von aktueller Position– Write: Schreiben an aktuelle Position– Append: Anhängen an Dateiende– Seek: Bei Random-Access-Dateien aktuelle Position bestimmen– Get attributes: Lesen der Dateiattribute– Set attributes: Verändern der Dateiattribute– Rename: Umbenennen
![Page 15: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/15.jpg)
Verzeichnisoperationen• Operationen entsprechen Systemaufrufen
– Create: Erzeugen– Delete: Löschen– Opendir: Öffnen– Closedir: Schließen– Readdir: Nächsten Verzeichniseintrag lesen– Get attributes: Lesen der Verzeichnisattribute– Set attributes: Verändern der Verzeichnisattribute– Rename: Umbenennen
• Aber: kein Write!– Verzeichniseinträge werden nur geschrieben bei Create etc. auf
Dateien.
![Page 16: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/16.jpg)
Systeme 1
Kapitel 3.1Implementierung von
Dateisystemen
![Page 17: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/17.jpg)
Festplatten
• Dateisystem z.B. auf Festplatten• Festplatten bestehen aus mehreren Platten
• Platte ist eingeteilt in Sektoren
![Page 18: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/18.jpg)
Festplatten Layout
• Sektor 0 der Platte enthält MBR (Master Boot Record).– Verwendet beim Booten– Partitionstabelle mit Anfangs- und Endadresse jeder Partition– Eine aktive Partition
• Bootvorgang:– BIOS liest MBR ein.– Lokalisierung der aktiven Partition– Einlesen und Ausführen des Bootblocks der aktiven Partition– Bootblock enthält den Bootloader, dieser lädt das Betriebssystem (-> hat Kenntnis über
Dateisystem).
![Page 19: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/19.jpg)
Festplatten Layout
• Bootblock lädt Dateisystem der Partition.• Superblock des Dateisystems enthält Schlüsselparameter des
Dateisystems (z.B. Schreibschutzmarkierung, Name des Dateisystemtyps etc.).
• Freispeicherverwaltung: Informationen über freie Blöcke im Dateisystem• I-Nodes:
– Liste von Datenstrukturen– Eine Datenstruktur pro Datei mit wesentlichen Informationen über Datei
• Datenblöcke: Eigentliche Inhalte der Dateien.
![Page 20: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/20.jpg)
Realisierung von Dateien
• 3 verschiedene Alternativen zur Realisierung von Dateien:– Zusammenhängende Belegung– Belegung durch verkettete Listen– I-Nodes
![Page 21: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/21.jpg)
Realisierung von Dateien
• Abspeicherung von Dateien als zusammen-hängende Menge von Plattenblöcken:
![Page 22: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/22.jpg)
Realisierung von Dateien• Abspeicherung von Dateien als
zusammenhängende Menge von Plattenblöcken:
• Vorteil: schnelles sequentielles Lesen einfache Implementierung
![Page 23: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/23.jpg)
Realisierung von Dateien• Abspeicherung von Dateien als zusammenhängende Menge von
Plattenblöcken:Problem: Löschen von Dateien D und F
Fragmentierung der Platte!• Verschiebung der Blöcke?• Verwaltung der entstehenden Löcher in Freilisten?• Was passiert, wenn man eine Datei erzeugt, deren Größe aber noch
unbekannt ist? Zusammenhängende Belegung im Allgemeinen - keine gute Idee!• Aber: Wird benutzt in Spezialfällen wie Dateisysteme für CD-ROMs.
![Page 24: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/24.jpg)
Realisierung von Dateien
• Speichere Dateien als verkettete Listen von Platten-blöcken– Dateiinhalt wird auf Blöcke gleicher Größer verteilt
![Page 25: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/25.jpg)
Realisierung von Dateien
• Speichere Datei als verkettete Listen von Plattenblöcken– Dateiinhalt wird auf Blöcke gleicher Größer verteilt
• Vorteile– Keine Fragmentierung– Sequentielles Lesen
• Nachteile– Wahlfreier Zugriff
• Zugriff auf Block n: Starte bei Block 0 und verfolge alle Blöcke n-1 Blöcke
=> n-1 langsame Lesezugriffe auf die Platte
![Page 26: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/26.jpg)
Realisierung von Dateien (FAT)Speichere Datei als verkettete Listen von Plattenblöcken• Verbesserung:– Halte Information über Verkettung der Blöcke im
Hauptspeicher– Ersetze bei wahlfreiem Zugriff Plattenzugriffe durch
(schnellere) Hauptspeicherzugriffe Datei-Allokationstabelle bzw. FAT im Hauptspeicher
• Methode benutzt in – MS-DOS (FAT-12, FAT-16, FAT-32)– Windows 95, Windows 98 (FAT-32)– Windows 2000 (u.a. FAT-32)
![Page 27: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/27.jpg)
Realisierung von Dateien (FAT)
![Page 28: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/28.jpg)
Realisierung von Dateien (FAT)Speichere Datei als verkettete Listen von Plattenblöcken• Vorteil:
– Da FAT im Hauptspeicher abgelegt, muss bei wahlfreiem Zugriff auf Block n nur eine Kette von Verweisen im Hauptspeicher verfolgt werden.
• Nachteil:– Größe der FAT im Speicher!– Anzahl der Einträge = Gesamtzahl der Plattenblöcke– Auch wenn Platte fast komplett unbelegt!
• Beobachtung:– Man braucht Verkettung der Plattenblöcke nur für aktuell bearbeitete
Dateien!-> I-Node-Konzept (UNIX, LINUX)
![Page 29: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/29.jpg)
Realisierung von Dateien (I-Node)
• Zu jeder Datei gehört eine Datenstruktur der sog. I-Node (Index-Node)
• I-Node ermöglicht Zugriff auf alle Blöcke der Datei.
• I-Node muss nur dann im Speicher sein, wenn eine Datei offen ist.– Wenn k Dateien offen und I-Node n Bytes
benötigt, dann nur k * n Byte insgesamt.
![Page 30: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/30.jpg)
Bsp.: UNIX System VI-Node einer Datei enthält– alle Attribute der Datei– m Adressen von Plattenblöcken– (UNIX System V: m = 10)
![Page 31: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/31.jpg)
Realisierung von Dateien (I-Node)
• Kleine Dateien bis 10 x 1 KByte (bei Blockgröße 1 KByte):
![Page 32: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/32.jpg)
Realisierung von Dateien (I-Node)
• Für größere Dateien werden Datenblöcke zur Speicherung von weiteren Plattenadressen genutzt
• Bsp.: – Blockgröße 1 KByte– Größe eines Zeigers auf Plattenblock: 4 Byte
-> 256 Zeiger passen in einen Plattenblock– Nach 10 (direkten) Plattenadressen gibt es im I-Node
Zeiger auf Block mit 256 weiteren Plattenadressen -> Insgesamt Dateien bis zu
(10 + 256) x 1 KByte = 266 KByte möglich.
![Page 33: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/33.jpg)
Realisierung von Dateien (I-Node)
![Page 34: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/34.jpg)
Realisierung von Dateien (I-Node)
• Noch größere Dateien.
![Page 35: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/35.jpg)
Realisierung von Dateien (I-Node)
• Bei – Blockgröße 1 KB,– Zeigergröße 4 Byte – erhält man über doppelt indirekten Block 256 x 256 =
65536 Zeiger auf Datenblöcke.• Zusätzlich noch dreifach indirekter Block …
• Frage: Wie groß ist mit diesen Parametern die maximale Dateigröße?Übung
![Page 36: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/36.jpg)
Realisierung von Dateien (I-Node)
• Attribut-Informationen von I-Nodes
* Hier 3-Bytes für eine Adresse
*
![Page 37: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/37.jpg)
Realisierung von Verzeichnissen
• Verzeichnisse sind ebenfalls Dateien!• Sie liefern eine Abbildung von – Datei- bzw. Verzeichnisnamen – auf I-Node-Nummern.• Jeder Verzeichniseintrag ist ein Paar aus Name und I-
Node-Nummer.
• Über I-Nodes kommt man dann zu Dateiinhalten.
![Page 38: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/38.jpg)
Realisierung von Verzeichnissen
tmp etc var usr lib home
bin man lib meier mueller schulze
games mail news work
/
![Page 39: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/39.jpg)
Verwaltung freier Plattenblöcke• Datenblöcke im Dateisystem an beliebigen
Stellen genutzt.• Nicht notwendigerweise aufeinander folgend.• Verwaltung freier Blöcke:– Über Freibereichsliste als verkettete Liste:
• Speichere Nummern von freien Plattenblöcken• Benutze zum Speichern der Nummern freie Plattenblöcke,
die miteinander verkettet werden– Bitmap
• Bitmap mit 1 Bit für jeden Plattenblock• Plattenblock frei , entsprechendes Bit = 1
![Page 40: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/40.jpg)
Verwaltung freier Plattenblöcke
![Page 41: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/41.jpg)
Belegung des Dateisystems• Belegung gegeben durch Anzahl genutzter I-Nodes und
Datenblöcke.• Dateisystem voll, wenn
– Keine I-Nodes mehr frei oder– Keine Datenblöcke mehr frei.
• Überprüfung mittels df:
$ df -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/hda2 64512 6437 58075 10% //dev/hda1 6024 33 5991 1% /boot
![Page 42: Systeme 1 Kapitel 3 Dateisysteme. Hauptaufgaben: – Organisation programmexterner Daten Progamminterne Daten werden direkt von Anwendungsprogrammen im](https://reader035.vdocuments.net/reader035/viewer/2022070310/55204d6449795902118b9ffe/html5/thumbnails/42.jpg)
Zusammenfassung• Objekte zur Datenspeicherung werden meist in
Verzeichnisbäumen in Form von Dateieinträgen verwaltet.
• Dateien und Verzeichnisse werden vom Dateisystem bereitgestellt.
• Der Verzeichnisbaum wird aus mehreren Dateisystemen zusammengebaut.
• Verschiedene Implementierungsvarianten für Dateisysteme
• Unterschiede liegen in Effizienz (Speicher und Laufzeit).• Geeignete Wahl des Dateisystems wird bestimmt durch
Eigenschaften des physikalischen Speichermediums.