Betriebssysteme (BS) Dateisysteme. Olaf Spinczyk.

Ähnliche Dokumente
Betriebssysteme (BS)

Betriebssysteme (BS)

Systemprogrammierung

Systemprogrammierung. Speicherung von Dateien. Freispeicherverwaltung. Beispiele: Dateisysteme unter UNIX und Windows. Dateisysteme mit Fehlererholung

1 Agenda. 2 Medien. 2.1 Festplatten (2) Systemprogrammierung. 2.1 Festplatten. ITeil IXI C XIII. Dateisysteme. Medien. Speicherung von Dateien

Systemprogrammierung

Bedeutung der Metadateien. Alle Metadaten werden in Dateien gehalten. NTFS ist ein Journal-File-System

6.2 Master-File-Table (3)

Alle Metadaten werden in Dateien gehalten

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

15 Implementierung von Dateien 15.5 Beispiel: Windows NT (NTFS)

4 Ersetzungsstrategie bei Solaris (6) F Implementierung von Dateien. F.1 Festplatten. E.9 Zusammenfassung. (Memory) Typische Werte

4 LCN VCN LCN Extents werden außerhalb der MFT gespeichert

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

F Implementierung von Dateien

Basiseinheit Cluster. Rückgrat des gesamten Systems. Basiseinheit Strom. entsprechender Eintrag für

Sektoraufbau. Überblick. Zonen. Datenblätter von drei Beispielplatten. Häufigstes Medium zum Speichern von Dateien

F Implementierung von Dateien

Wiederholung: Realisierung von Dateien

6.2 FAT32 Dateisystem

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Grundlagen der Informatik für Ingenieure I. Background: 4. Dateisystem/Betriebssystemschnittstelle

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Einführung in Dateisysteme

Einführung FAT - File Allocation Table NTFS - New Technology Filesystem HFS - Hierachical Filesystem ext - Extended Filesystem Zusammenfassung

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Implementierung von Dateisystemen

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Verzeichnisbaum. Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt

Jeder Datenträger besitzt einen I-Node-Array. Jede Datei auf dem Datenträger hat einen I-Node-Eintrag.

Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices)

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

Grundlagen der Betriebssysteme

UNIX-Dateisysteme - Allgemeines

Partitionierung unter Linux

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

Betriebssystemschichten ( )

Einführung. Datei Verwaltung. Datei Verwaltung. Einführung. Einführung. Einführung. Einführung. Datei Verwaltung. Puffer Cache Verwaltung

Implementierung von Dateisystemen

Dateisysteme. Datei: Objekt zum Abspeichern von Daten Die Datei wird vom Dateisystem als Teil des Betriebssystems verwaltet. c~åüüçåüëåüìäé açêíãìåç

Was ist ein Dateisystem? Wozu dient es? Lokale Dateisysteme. Speichergrößen. Inhalt der Präsentation

Einführung in Dateisysteme

Dateisystem: Einführung

Dateisystem: Einführung

Betriebssysteme I WS 2014/2015. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme 11/12

Linux Paging, Caching und Swapping

Proseminar Konzepte von Betriebssystem-Komponenten Disk-Caches & Dateizugriff von Athanasia Kaisa

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

Halt! Wo bin ich überhaupt?... C:\

Freispeicherverwaltung Martin Wahl,

Übungen zum Fach Betriebssysteme Kapitel 6

Computer-Systeme. Teil 16: Dateisysteme

Wozu braucht man Dateisysteme? Benutzer muss sich nicht darum kümmern wie die Daten auf der Hardware abge- legt

Datenbanken: Indexe. Motivation und Konzepte

TI2 Übung 7. Festplatten und Dateisysteme. 8. Februar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

Grundlagen der Dateisysteme. Daniel Lieck

Betriebssysteme 5. Dateisysteme II. Peter Altenbernd Dateisysteme II Betriebssysteme WS 2010/11 Hochschule Darmstadt

stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei

Das virtuelle Dateisystem von Linux (VFS)

5 Kernaufgaben eines Betriebssystems (BS)

Linux. Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm. FB Automatisierung und Informatik.

8. Massenspeicher und Dateisysteme

Systeme I: Betriebssysteme Übungsblatt 3

Dateisysteme. Lokale Linux Dateisysteme. Michael Kürschner (m

10. Implementierung von Dateisystemen

Partitionieren und Formatieren

Computerforensik. Wintersemester 2010/2011

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Betriebssysteme (BS)

Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1

Leistungsanalyse von Rechnersystemen

Betriebssysteme Kap A: Grundlagen

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

5. Dateisysteme. 5.1 Definition Dateisystem

Verteilte Systeme. Verteilte Systeme. 9 Verteilte Dateisysteme SS 2015

Paging. Einfaches Paging. Paging mit virtuellem Speicher

5.2 Analyse des File Slack

Tutorium Rechnerorganisation

Datenbank Objekte (Tabellen, Segemente, Extents, Blöcke)

Kapitel 8 - Das Dateisystem 1/33

Dateisystem: Einführung

Dateisystem: Einführung

BACKUP Datensicherung unter Linux

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Technische Informatik II. SoSe 2014 Jörg Kaiser IVS EOS

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

Echtzeitbetriebssysteme

K. Datei- & Verzeichnissysteme

Die Sicht eines Sysadmins auf DB systeme

Digital Forensics. Slackspace DI Robert Jankovics DI Martin Mulazzani

File Management. Peter Puschner Institut für Technische Informatik

OPERATIONEN AUF EINER DATENBANK

D Einführung Betriebssysteme

9.3 Fehlerbehandlung

2. Darstellung von Information im Computer

Olga Perevalova Universität Hamburg

Transkript:

Betriebssysteme (BS) Dateisysteme http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik 12, TU Dortmund

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung Silberschatz, Kap.... 10: File System 11: Implementing File Systems Tanenbaum, Kap.... 6: Dateisysteme 22.06.2015 Betriebssysteme: 11 - Dateisysteme 2

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 3

Wiederholung In den bisherigen Vorlesungen CPU, Hauptspeicher In der letzten Vorlesung E/A-Geräte, insbesondere auch Zugriff auf blockorientierte Geräte Prozessor (CPU, Central Processing Unit) Heute: Dateisysteme Prozessor Hauptspeicher (Memory) E/A-Geräte (I/O Devices) Hintergrundspeicher E/A-Schnittstellen (Secondary Storage) (Interfaces) 22.06.2015 Betriebssysteme: 11 - Dateisysteme 4

Hintergrundspeicher bin usr local / Logische Sicht Verzeichnis home os mm hsc js Dateisysteme erlauben die dauerhafte Speicherung großer Datenmengen. bs.pdf Abbildung Das Betriebssystem stellt den Anwendungen die logische Sicht zur Verfügung und muss diese effizient realisieren. Datei Physikalische Sicht Spuren Rotationsachse... Sektor Festplatte mit 6 Oberflächen Schreib-/Leseköpfe 22.06.2015 Betriebssysteme: 11 - Dateisysteme 5

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 6

Speicherung von Dateien Dateien benötigen oft mehr als einen Block auf der Festplatte Welche Blöcke werden für die Speicherung einer Datei verwendet? Variable Länge Datei? Block 0 Block 1 Block 02 Block 03 Block 4 Block 5 Block 06 Block 07 Platte Feste Länge 22.06.2015 Betriebssysteme: 11 - Dateisysteme 7

Kontinuierliche Speicherung Datei wird in Blöcken mit aufsteigenden Blocknummern gespeichert Nummer des ersten Blocks und Anzahl der Folgeblöcke muss gespeichert werden, z.b. Start: Block 4; Länge: 3. Block 0 Block 1 Block 02 Block 03 Block 4 Block 5 Block 06 Block 07 Vorteile Zugriff auf alle Blöcke mit minimaler Positionierzeit des Schwenkarms Schneller direkter Zugriff auf bestimmter Dateiposition Einsatz z.b. bei nicht modifizierbaren Dateisystemen wie auf CDs 22.06.2015 Betriebssysteme: 11 - Dateisysteme 8

Kontinuierliche Speicherung: Probleme Finden des freien Platzes auf der Festplatte (Menge aufeinanderfolgender und freier Plattenblöcke) Fragmentierungsproblem (Verschnitt: nicht nutzbare Plattenblöcke; siehe auch Speicherverwaltung) Größe bei neuen Dateien oft nicht im Voraus bekannt Erweitern ist problematisch Umkopieren, falls kein freier angrenzender Block mehr verfügbar 22.06.2015 Betriebssysteme: 11 - Dateisysteme 9

Verkettete Speicherung Blöcke einer Datei sind verkettet Block 3 Block 8 Block 1 Block 9 z.b. Commodore Systeme (CBM 64 etc.) Blockgröße 256 Bytes die ersten zwei Bytes bezeichnen Spur- und Sektornummer des nächsten Blocks wenn Spurnummer gleich Null: letzter Block 254 Bytes Nutzdaten Datei kann vergrößert und verkleinert werden 22.06.2015 Betriebssysteme: 11 - Dateisysteme 10

Verkettete Speicherung: Probleme Speicher für Verzeigerung geht von den Nutzdaten im Block ab Ungünstig im Zusammenhang mit Paging: Seite würde immer aus Teilen von zwei Plattenblöcken bestehen Fehleranfälligkeit: Datei ist nicht restaurierbar, falls einmal Verzeigerung fehlerhaft Schlechter direkter Zugriff auf bestimmte Dateiposition Häufiges Positionieren des Schreib-, Lesekopfs bei verstreuten Datenblöcken 22.06.2015 Betriebssysteme: 11 - Dateisysteme 11

Verkettete Speicherung: FAT Verkettung wird in separaten Plattenblöcken gespeichert FAT-Ansatz (FAT: File Allocation Table) z.b. MS-DOS, Windows 95 FAT Block 0 5 1 9 8 1-0 Blöcke der Datei: 3, 8, 1, 9 Block 3 Block 8 Block 1 Block 9 Vorteile Erster Dateiblock kompletter Inhalt des Datenblocks ist nutzbar mehrfache Speicherung der FAT möglich: Einschränkung der Fehleranfälligkeit 22.06.2015 Betriebssysteme: 11 - Dateisysteme 12

Verkettete Speicherung: Probleme (2) Zusätzliches Laden mindestens eines Blocks (Caching der FAT zur Effizienzsteigerung nötig) Laden unbenötigter Informationen: FAT enthält Verkettungen für alle Dateien Aufwändige Suche nach dem zugehörigen Datenblock bei bekannter Position in der Datei Häufiges Positionieren des Schreib-, Lesekopfs bei verstreuten Datenblöcken 22.06.2015 Betriebssysteme: 11 - Dateisysteme 13

Diskussion: Chunks/Extents/Clusters Variation Unterteilen einer Datei in kontinuierlich gespeicherte Folgen von Blöcken (Chunk, Extent oder Cluster genannt) Reduziert die Zahl der Positionierungsvorgänge Blocksuche wird linear in Abhängigkeit von der Chunk-Größe beschleunigt Probleme Zusätzliche Verwaltungsinformationen Verschnitt Feste Größe: innerhalb einer Folge (interner Verschnitt) Variable Größe: außerhalb der Folgen (externer Verschnitt) Wird eingesetzt, bringt aber keinen fundamentalen Fortschritt 22.06.2015 Betriebssysteme: 11 - Dateisysteme 14

Indiziertes Speichern Spezieller Plattenblock enthält Blocknummern der Datenblocks einer Datei Indexblock 0 5 10 3 8 1 9 Blöcke der Datei: 3, 8, 1, 9 Block 3 Block 8 Block 1 Block 9 Erster Dateiblock Problem Feste Anzahl von Blöcken im Indexblock Verschnitt bei kleinen Dateien Erweiterung nötig für große Dateien 22.06.2015 Betriebssysteme: 11 - Dateisysteme 15

Indiziertes Speichern: UNIX-Inode direkt 0 Datenblöcke direkt 1... direkt 9 einfach indirekt zweifach indirekt dreifach indirekt Inode 22.06.2015 Betriebssysteme: 11 - Dateisysteme 16

Indiziertes Speichern: Diskussion Einsatz von mehreren Stufen der Indizierung Inode benötigt sowieso einen Block auf der Platte (Verschnitt unproblematisch bei kleinen Dateien) durch mehrere Stufen der Indizierung auch große Dateien adressierbar Nachteil mehrere Blöcke müssen geladen werden (nur bei langen Dateien) 22.06.2015 Betriebssysteme: 11 - Dateisysteme 17

Baumsequentielle Speicherung Wird bei Datenbanken zum effizienten Auffinden eines Datensatzes mit Hilfe eines Schlüssels eingesetzt Schlüsselraum darf spärlich besetzt sein. Kann auch verwendet werden, um Datei-Chunks mit bestimmtem Datei-Offset aufzufinden, z.b. NTFS, Reiser FS, btrfs, IBM JFS2 Dateisystem (B+ Baum) 9 21 Block 9 9 < Block 21 21 < Block 6 9 17 20 26 28 Indexblöcke 5-6 7-9 - 15-17 18-20 21 25-26 27-28 - Bl. 5 Bl. 6 Bl. 7 Bl. 8 Bl. 15 Bl. 16 Bl. 18 Bl. 19 Bl. 21 Bl. 25 Bl. 26 Bl. 27 Bl. 28 Chunks mit Blöcken Bl. 9 Bl. 17 Bl. 20 22.06.2015 Betriebssysteme: 11 - Dateisysteme 18

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 19

Freispeicherverwaltung Ähnlich wie Verwaltung von freiem Hauptspeicher Bitvektoren zeigen für jeden Block Belegung an Verkettete Listen repräsentieren freie Blöcke Verkettung kann in den freien Blöcken vorgenommen werden Optimierung: aufeinanderfolgende Blöcke werden nicht einzeln aufgenommen, sondern als Stück verwaltet Optimierung: ein freier Block enthält viele Blocknummern weiterer freier Blöcke und evtl. die Blocknummer eines weiteren Blocks mit den Nummern freier Blöcke freie Blöcke mit Verweisen freie Blöcke 22.06.2015 Betriebssysteme: 11 - Dateisysteme 20

Freispeicherverwaltung (2) Baumsequentielle Speicherung freier Blockfolgen Erlaubt schnelle Suche nach freier Blockfolge bestimmter Größe Anwendung z.b. im SGI XFS 22.06.2015 Betriebssysteme: 11 - Dateisysteme 21

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 22

Verzeichnis als Liste Einträge gleicher Länge hintereinander in einer Liste, z.b. FAT File systems Name (8 Z.) Erweiterung (3 Z.) für VFAT werden mehrere Einträge zusammen verwendet, um den langen Namen aufzunehmen UNIX System V.3 Attribute Erstellungsdatum letzter Zugriff Länge Erster Datenblock Letzte Änderung Problem Inode- Nummer Dateiname (max. 14 Zeichen) Suche nach bestimmten Eintrag muss linear erfolgen Bei Sortierung der Liste: Schnelles Suchen, Aufwand beim Einfügen 22.06.2015 Betriebssysteme: 11 - Dateisysteme 23

Einsatz von Hash-Funktionen Funktion bildet Dateinamen auf einen Index in die Katalogliste ab. Schnellerer Zugriff auf den Eintrag möglich (kein lineares Suchen) (Einfaches aber schlechtes) Beispiel: ( Zeichen ) mod N Dateiname Index 0 Verzeichniseinträge Probleme Hash-Funktion N-1 Kollisionen (mehrere Dateinamen werden auf gleichen Eintrag abgebildet) Anpassung der Listengröße, wenn Liste voll 22.06.2015 Betriebssysteme: 11 - Dateisysteme 24

Variabel lange Listenelemente Beispiel 4.2 BSD, System V Rel. 4, u.a.... Inode- Nummer Länge des Namens Name Offset zum nächsten gültigen Eintrag Probleme Verwaltung von freien Einträgen in der Liste Speicherverschnitt (Kompaktifizieren, etc.) 22.06.2015 Betriebssysteme: 11 - Dateisysteme 25

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 26

UNIX System V File System Blockorganisation 0 1 2 isize...... Inodes Super Block Boot Block Datenblöcke (Dateien, Verzeichnisse, Indexblöcke) Boot Block enthält Informationen zum Laden Betriebssystems Super Block enthält Verwaltungsinformation für ein Dateisystem Anzahl der Blöcke, Anzahl der Inodes Anzahl und Liste freier Blöcke und freier Inodes Attribute (z.b. Modified flag) 22.06.2015 Betriebssysteme: 11 - Dateisysteme 27

BSD 4.2 (Berkeley Fast File System) Blockorganisation erste Zylindergruppe zweite Zylindergruppe Inodes Cylinder Group Block Super Block Boot Block Datenblöcke Zylindergruppe: Menge aufeinanderfolgender Zylinder (häufig 16) Kopie des Super Blocks in jeder Zylindergruppe Eine Datei wird möglichst innerhalb einer Zylindergruppe gespeichert Vorteil: kürzere Positionierungszeiten 22.06.2015 Betriebssysteme: 11 - Dateisysteme 28

Linux Ext2/3/4 File System Blockorganisation erste Blockgruppe zweite Blockgruppe Inodes Datenblöcke Bitmaps (freie Inodes u. Blöcke) Cylinder Group Block Super Block Boot Block Blockgruppe: Menge aufeinander folgender Blöcke Ähnliches Layout wie BSD FFS Blockgruppen unabhängig von Zylindern 22.06.2015 Betriebssysteme: 11 - Dateisysteme 29

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 30

UNIX Block Buffer Cache Pufferspeicher für Plattenblöcke im Hauptspeicher Verwaltung mit Algorithmen ähnlich wie bei Kachelverwaltung Read ahead: beim sequentiellen Lesen wird auch der Transfer von Folgeblöcken angestoßen Lazy write: Block wird nicht sofort auf Platte geschrieben (erlaubt Optimierung der Schreibzugriffe und blockiert den Schreiber nicht) Verwaltung freier Blöcke in einer Freiliste Kandidaten für Freiliste werden nach LRU Verfahren bestimmt Bereits freie aber noch nicht anderweitig benutzte Blöcke können reaktiviert werden (Reclaim) 22.06.2015 Betriebssysteme: 11 - Dateisysteme 31

UNIX Block Buffer Cache (2) Schreiben erfolgt, wenn keine freien Puffer mehr vorhanden sind, regelmäßig vom System (fsflush Prozess, update Prozess), beim Systemaufruf sync(), und nach jedem Schreibaufruf im Modus O_SYNC. Adressierung Adressierung eines Blocks erfolgt über ein Tupel: (Gerätenummer, Blocknummer) Über die Adresse wird ein Hash-wert gebildet, der eine der möglichen Pufferlisten auswählt 22.06.2015 Betriebssysteme: 11 - Dateisysteme 32

UNIX Block Buffer Cache: Aufbau 22.06.2015 Betriebssysteme: 11 - Dateisysteme 33

UNIX Block Buffer Cache: Aufbau (2) 22.06.2015 Betriebssysteme: 11 - Dateisysteme 34

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 35

Dateisysteme mit Fehlererholung Mögliche Fehler Stromausfall (ahnungsloser Benutzer schaltet einfach Rechner aus) Systemabsturz Auswirkungen auf das Dateisystem inkonsistente Metadaten z.b. Katalogeintrag fehlt zur Datei oder umgekehrt z.b. Block ist benutzt aber nicht als belegt markiert Reparaturprogramme Programme wie chkdsk, scandisk oder fsck können inkonsistente Metadaten reparieren Probleme Datenverluste bei Reparatur möglich Lange Laufzeiten der Reparaturprogramme bei großen Platten 22.06.2015 Betriebssysteme: 11 - Dateisysteme 36

Journaled File Systems Zusätzlich zum Schreiben der Daten und Meta-Daten (z.b. Inodes) wird ein Protokoll der Änderungen geführt Alle Änderungen treten als Teil von Transaktionen auf. Beispiele für Transaktionen: Erzeugen, löschen, erweitern, verkürzen von Dateien Dateiattribute verändern Datei umbenennen Protokollieren aller Änderungen am Dateisystem zusätzlich in einer Protokolldatei (Log File) Beim Bootvorgang wird Protokolldatei mit den aktuellen Änderungen abgeglichen und damit werden Inkonsistenzen vermieden. 22.06.2015 Betriebssysteme: 11 - Dateisysteme 37

Journaled File Systems: Protokoll Für jeden Einzelvorgang einer Transaktion wird zunächst ein Protokolleintrag erzeugt und... danach die Änderung am Dateisystem vorgenommen. Dabei gilt: Der Protokolleintrag wird immer vor der eigentlichen Änderung auf Platte geschrieben. Wurde etwas auf Platte geändert, steht auch der Protokolleintrag dazu auf der Platte. 22.06.2015 Betriebssysteme: 11 - Dateisysteme 38

Journaled File Systems: Erholung Beim Bootvorgang wird überprüft, ob die protokollierten Änderungen vorhanden sind: Transaktion kann wiederholt bzw. abgeschlossen werden, falls alle Protokolleinträge vorhanden. Redo Angefangene aber nicht beendete Transaktionen werden rückgängig gemacht Undo. 22.06.2015 Betriebssysteme: 11 - Dateisysteme 39

Journaled File Systems: Ergebnis Vorteile eine Transaktion ist entweder vollständig durchgeführt oder gar nicht Benutzer kann ebenfalls Transaktionen über mehrere Dateizugriffe definieren, wenn diese ebenfalls im Log erfasst werden. keine inkonsistenten Metadaten möglich Hochfahren eines abgestürzten Systems benötigt nur den relativ kurzen Durchgang durch das Log-File. Nachteile Alternative chkdsk benötigt viel Zeit bei großen Platten ineffizienter, da zusätzliches Log-File geschrieben wird daher meist nur Metadata Journaling, kein Full Journaling Beispiele: NTFS, EXT3, ReiserFS 22.06.2015 Betriebssysteme: 11 - Dateisysteme 40

Inhalt Wiederholung Dateien Freispeicherverwaltung Verzeichnisse Dateisysteme Pufferspeicher Dateisysteme mit Fehlererholung Zusammenfassung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 41

Zusammenfassung: Dateisysteme... sind eine Betriebssystemabstraktion Speicherung logisch zusammenhängender Informationen als Datei Meist hierarchische Verzeichnisstruktur, um Dateien zu ordnen... werden durch die Hardware beeinflusst Minimierung der Positionierungszeiten bei Platten Gleichmäßige Abnutzung bei FLASH-Speicher Kein Buffer-Cache bei RAM-Disks... werden durch das Anwendungsprofil beeinflusst Blockgröße zu klein Verwaltungsstrukturen können zu Performance-Verlust führen zu groß Verschnitt führt zu Plattenplatzverschwendung Aufbau von Verzeichnissen keine Hash-Funktion langwierige Suche mit Hash-Funktion mehr Aufwand bei der Verwaltung 22.06.2015 Betriebssysteme: 11 - Dateisysteme 42