Computer-Systeme Teil 16: Dateisysteme

Ähnliche Dokumente
Computer-Systeme. Teil 16: Dateisysteme

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

Betriebssysteme Teil 15: Dateisysteme Teil 1

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

Betriebssysteme Teil 14: Dateisysteme

Dateisystem: Einführung

Dateisystem: Einführung

Dateisystem: Einführung

Dateisystem: Einführung

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

6.2 FAT32 Dateisystem

Partitionieren und Formatieren

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

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

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

Einführung in Dateisysteme

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

Dateisysteme. Erweiterte Anforderungen an Speicher

Betriebssysteme 1. Thomas Kolarz. Folie 1

Einführung Leistungsmerkmale Aufbau am Beispiel FAT16. Das Filesystem FAT. Peter Schmid. Hochschule für Technik Zürich Studiengang Informatik

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

Olga Perevalova Universität Hamburg

Vergleichstabelle zwischen Paragon Festplatten Manager 2011 Suite und Paragon Festplatten Manager 11 Professional*

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

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

BACKUP Datensicherung unter Linux

Geräteverwaltung: Einführung

GJU IT-forensics course

KV Betriebssysteme (Rudolf Hörmanseder, Michael Sonntag, Andreas Putzinger)

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

Linux booten. Jörg Ahrens

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

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

4.1 Datenträger/Partitionen

Einführung in Dateisysteme

)$7)HVWSODWWHQ3DUWLWLRQ:HQLJHUNDQQPHKUVHLQ

UNIX-Dateisysteme - Allgemeines

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

Partitionierung unter Linux

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

Systeme I: Betriebssysteme Übungsblatt 3

Grundlagen der Dateisysteme. Daniel Lieck

2 2. Tag. 2.1 Das Dateisystem. das Dateisystem organisiert die Speicherung von Daten. viele Betriebssysteme haben verschiedene Dateisysteme

Multibooting mit Windows 2000 und Windows XP

6.1.5 Verzeichnisdateien

J UNIX-Dateisystem. 1 Umwandlung: Pfad : Inode. J.1 Funktionalität. J.2 Directories (Kataloge) 1 Umwandlung: Pfad : Inode (2) J.

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

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

ASUS Disk Unlocker Anleitung

Digital Forensics. Slackspace DI Robert Jankovics DI Martin Mulazzani

Implementierung eines Dateisystems für Java-basierte eingebettete Systeme

Einführung in die Informationstechnik. III Einführung in Betriebssysteme: Windows, Unix

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

Grundsoftware üblicher Computersysteme

Firmware Update - BERNINA 5er Serie mit Touch Screen

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

Freispeicherverwaltung Martin Wahl,

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

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

8. Massenspeicher und Dateisysteme

Step by Step Installation von Windows Server von Christian Bartl

BERNINA Q Serie - Firmware Update

Konfigurieren und Verwalten von Dateisystemen

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1

FESTPLATTEN MANAGER 12 / ALLE FUNKTIONEN. FM 12 Professional. Partitionierung. Datensicherung & Wiederherstellung

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Computer-Systeme Teil 15: Virtueller Speicher

Intrexx Hochverfügbarkeit

Grundlagen der Dateisysteme. Daniel Lieck

Installieren von Betriebssystemen

Simple Filesystem Helper

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL

Ein- und Ausgabegeräte

.DSLWHO*%HWULHEXQWHU6&281,;9

Raimund Kirner, Peter Puschner 1

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

I/O: Von der Platte zur Anwendung. Von Igor Engel

Technische Praxis der Computersysteme. Technische Praxis der Computersysteme

BERNINA 720/740/770/790 - Firmware Update

Konzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner

E.1 Allgemeine Konzepte (3) E.1 Allgemeine Konzepte (2) E.1 Allgemeine Konzepte. Datei. Einordnung. Katalog / Verzeichnis

11. Die PC-Schnittstelle

Computer Schulung Explorer

Aufgabenblatt 0. Informationssicherheit Wirtschaftsinformatik WS 2017/18. Lernziele. Vorbereitungen 0 Punkte. Vorbereitung

Partitionieren mit GParted:

Verzeichnisse unter Linux

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

Paragon Festplatten Manager 2010 Corporate Solutions:

Dateisysteme. Was ist ein Dateisystem?:

Übersicht. Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe. AVS SS Teil 12/Protection

Betriebssysteme Vorstellung

Betriebssystemschichten ( )

Update eines XENTRY Connect über einen USB-Datenträger

Implementierung von Dateisystemen

Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS1) Dateisysteme.

Editionen im Vergleich

Transkript:

Computer-Systeme Teil 16: Dateisysteme Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 16.01.2013 1

Literatur (Auszug) [1] [2] [3] [4] [5] Rémy Card, Theodore Ts'o, Stephen Tweedie: Design and Implementation of the Second Extended Filesystem http://web.mit.edu/tytso/www/linux/ext2intro.html Dateisystem http://de.wikipedia.org/wiki/dateisystem Liste von Dateisystemen http://de.wikipedia.org/wiki/liste_von_dateisystemen Dateisystem http://wiki.ubuntuusers.de/dateisystem FAT http://de.wikipedia.org/wiki/file_allocation_table Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 2

Übersicht Dateien und Dateisysteme Treiber Montieren von Dateisystemen Unix/Windows MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen lediglich das Prinzip dar - im Detail ist alles etwas komplizierter... Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 3

Dateisysteme auf Massenspeichern Die Organisation von Daten auf Speichermedien anhand von Tabellen wird durch ein Dateisystem (Filesystem) realisiert. Diese Organisation selbst wird auch Dateisystem genannt. Diese Organisation wird beim Formatieren auf das Medium geschrieben. Als Medien kommen in Frage: Memory Sticks CD, DVD oder Blue Ray Festplatten oder SSDs Wechselplatten bzw. Wechselmedien Magnetbänder Im folgenden werden stellvertretend für diese Medien bzw. Geräte die Festplatten betrachtet. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 4

Begriffe I Datei = File = Zusammenhängende Daten auf einem Medium mit einem Namen sowie Verwaltungsinformationen Verwaltungsinformationen: Angabe des Besitzers oder dessen Gruppe Datum der Erstellung Datum der letzten Änderung Datum des letzten Zugriffs Aktuelle Größe Zugriffsrechte (Erlaubnisse, Permissions)... Die Zugriffsrechte regeln, wer was mit der Datei oder mit Ordner machen darf. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 5

Begriffe II Ordner = Directory = Verzeichnis = Zusammenfassung von Beschreibungen mehrerer Dateien in Form einer internen Datei sowie Verwaltungsinformationen Ordner können auch leer sein. Die Beschreibungen können auch als Verweise (Referenzen) aufgefasst werden. Verwaltungsinformationen von Ordnern: Angabe des Besitzers oder dessen Gruppe Datum der Erstellung Datum der letzten Änderung Datum des letzten Zugriffs Aktuelle Größe Zugriffsrechte (Erlaubnisse, Permissions)... Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 6

Begriffe III Dateisystem = Filesystem = Strukturierte Zusammenfassung von Dateien und Ordnern auf Medien Dazu gehören alle Verwaltungsinformationen sowie Informationen über den Aufbau oder Größe des Mediums Bemerkung: Es gibt auch Dateisysteme, die sich über mehrere Medien erstrecken. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 7

Leistungen des Dateisystems Jedes Dateisystem realisiert mindestens einen Ordner. Jede Datei hat einen Namen, der innerhalb seines Ordners eindeutig ist. Jede Datei muss mindestens einem Ordner zugeordnet sein. Dateien können unterschiedlich lang sein. Dateien müssen jederzeit vergrößert und verkleinert werden können. Die Namen von Dateien, Ordnern sowie deren Verwaltungsinformationen können jederzeit abgefragt und geändert werden. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 8

Modell einer Datei Attribute Beschreibung der Datei (Deskriptor) Name Länge Besitzer, Gruppe Rechte Typ/Art... Ort Zeiger -> I n f o r m a t i o n <- Beginn <- Ende (End-of-File) Die Datei kann als Kette von Bytes angesehen werden. Der Zeiger zeigt immer auf das Byte, das als nächstes gelesen wird. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 9

Modell der Ordner I Datei 1 Deskriptor 1 Datei 2 Ordner Directory Deskriptor 2 Deskriptor 3... Datei 3 Deskriptor N Datei N Ein Ordner ist eine Kette von Dateideskriptoren. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 10

Modell der Ordner II Ordner 2 Ordner 1 Datei 3 Ordner 3 Datei 2... Datei 1 Ordner werden hierarchisch verknüpft Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 11

Modell der Ordner III Ordner 2 Ordner 1 Datei 3 Gerät 1 (Medium)... Ordner 3 Datei 2 Datei 1 Ordner 2 Ordner 1 Datei 3 Gerät 2 (Medium)... Ordner 3 Datei 2 Datei 1 Auf jedem Gerät bzw. Medium existiert ein eigener Dateibaum. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 12

Montieren (Mount) Ein Mount (Montieren, Einhängen) eines Dateisystems ist ein Zusammensetzen, so dass von einem Wurzel-Dateisystem ausgehend alle Dateien über Pfade erreichbar sind. Das Wurzeldateisystem ist das, was nach dem Hochfahren (Booten) als erstes angelegt wurde. Montieren bei UNIX: Das Montieren von B in das Wurzeldateisystem A besteht darin, dass ein Ordner von A (Mount Point) durch das Wurzelverzeichnis von B samt allen daran hängenden Verzeichnissen überdeckt wird. Der überdeckte Ordner in A sowie alle an diesen hängenden Dateien bzw. Ordner (von A) sind nach dem Montieren von B nicht mehr zugreifbar, aber immer vorhanden. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 13

Montieren (UNIX) - Vorher /usr/clara /usr /usr/peter /usr/doris / Datei /bin Directory Filesystem F 1 Mount- Point-Directory Mount /bin/x /windows / Filesystem F 2 /screen Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 14

Montieren (UNIX) - Nachher /usr/clara /usr /usr/peter /usr/doris / Filesystem F 1 /bin /bin/x/windows Datei Directory /bin/x Filesystem F 2 /bin/x/screen Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 15

Montieren (WINDOWS) Bei den Dateisystemen der MSDOS-Serie: Windows 95..ME, Windows NT bis XP ist das Montieren anders realisiert: Die Dateisysteme werden unter verschiedenen Buchstaben an einen gedachten Wurzelordner angehängt; was bedeutet, dass sie alle aus der Sicht des Baums als Geschwister angesehen werden können. Es entsteht also ein Wald. Die Dateisysteme erhalten einen Buchstaben, der im absoluten Pfadnamen einer Datei als erstes gefolgt von einem Doppel-punkt genannt werden muss: Beispiel: "c:\windows". Im Gegensatz zu UNIX werden Dateisysteme nicht in einen einzigen Baum eingehängt, sondern liegen parallel wie bei einem "Gebüsch" nebeneinander. Das Trennzeichen zwischen Ordnern ist der Backslash ("\"). Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 16

Realisierung I... Prozesse Syscall-Schnittstelle Betriebssystem Filesystem Treiber-Schnittstelle Treiber Treiber... Treiber Teil der Schichenstruktur innerhalb des Kernels. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 17

Realisierung II Durch die Schichtenstruktur wird eine Abstraktion von den Eigenschaften der Geräte realisiert: Die Treiber passen eine allgemeine Schnittstelle an die Spezialitäten der Geräte an bzw. realisieren den Zugriff auf die Geräteregister. Dadurch braucht sich die Dateisystemimplementierung nicht um diese Details kümmern. Wird ein neues Gerät angeschlossen, reicht die Installation des Treibers für dieses Gerät aus. Die Treiberschnittstelle wird durch das Betriebssystem bestimmt. Initial sind nach der Installation eines Betriebssystems Treiber für die üblichen oder am meisten am Markt vorhandenen Geräte schon vorhanden. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 18

Sinn der Treiberschnittstelle Die Treiber simulieren ein gedachtes (virtuelles) Gerät mit fest gelegten Eigenschaften: Das Medium ist in Blöcke fester Länge aufgeteilt. Jeder Block hat eine von 0 ansteigend gezählte Nummer. Auf jeden Block kann lesend oder schreibend zugegriffen werden. Ein Medium wird also als folgende Struktur angesehen: 0 1 2 3 4 5 6 7 9 Die Blöcke hatten früher die Länge von 512 Byte, heute von 4 KByte. Eine solche Kette wird auch Array oder Feld genannt. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 19

Treiberschnittstelle I Filesystem Treiber Treiber... Treiber [0] [1] [N] init open close... Interrupt- Handler Bus/Geräteregister Intern werden die Geräte/Treiber durchnumeriert, so dass ein Feld aus Verweisen auf die Schnittstellen der Treiber entsteht. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 20

Treiberschnittstelle II Alle Treiber haben innerhalb eines Kernels eine einheitliche Schnittstelle, die im Prinzip wie folgt aufgebaut ist: Operation Init Open Close Read Write Seek Control Poll Erläuterung Initialisieren des Geräts (Reset) Beginn der Verarbeitung Ende der Verarbeitung Lesen von Blöcken Schreiben von Blöcken Positionieren auf einen bestimmten Block Setzen und Abfragen von Modi, Statuswerte Nachfragen, ob letzter I/O-Vorgang beendet Dadurch wird es sehr einfach, unterschiedliche Geräte in den Kernel einzubinden, da alle Besonderheiten der Geräte in den Routinen verdeckt sind. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 21

Treiberschnittstelle III Das Filesystem im Kernel ist in zwei Bereiche eingeteilt: Geräte-unabhängiger Teil: dieser ist für alle Geräte gleich; hier ist der globale Algorithmus der Systemaufrufe realisiert. Geräteabhängiger Teil: Treiber Die Treiberroutinen sind die, die an die Geräte-Register gehen, den Interrupt-Handler definieren, die DMA- Operationen veranlassen etc. [die Schnittstelle zum Geräte-unabhängigen Teil des Kernels ist in Wirklichkeit etwas komplizierter] Diese Routinen werden in der Regel von dem Hersteller der I/O-Hardware programmiert und müssen zur Installation des Geräts mit installiert werden. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 22

Treiberschnittstelle IV Das Dateisystem ruft entsprechend den Systemaufrufen lediglich die korrespondierenden Treiberroutinen auf. In der Realität ist es etwas komplizierter: Das Dateisystem muss Fehler behandeln können. Wechselmedien benötigen besondere Routinen, z. B. das Sperren/Freigeben des Mediums oder das Feststellen des Medienwechsels Aus Performanzgründen werden Blöcke im Kernel zwischengespeichert - ein weiterer Cache. Es müssen Optimierungen durchgeführt werden, z. B. ist ein Scheduler für parallele Zugriffe verschiedener Prozesse auf ein Medium erforderlich, um unnötige Positionierungen des Aktuators bei Platten zu vermeiden. Hier kann z.b. der Fahrstuhl-Algorithmus benutzt werden. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 23

Datei als grundlegendes Element In einer Datei werden die eigentlichen Informationen abgelegt. In einer Datei werden auch die Beschreibungen über die Dateien abgelegt. Diese Beschreibungen bilden die Ordner. Wir brauchen eine Idee, wie Dateien als Ketten von Bytes auf einem Medium realisiert werden. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 24

Verkettung von Blöcken I [0] [1] [2] [3] [Max]... Filesystembasis ist ein Array von Blöcken (1) A A... Datei A belegt Blöcke 2 und 3 (2) A A B... Datei B belegt danach Block 4 Nun wird Datei A um 1 Block verlängert... (3a) A A A B... Datei B wird verschoben Den leeren Platz belegt A (3b) A A B A... Datei A belegt irgendeinen freien Block, so dass eine Verkettung erforderlich wird Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 25

Ablegen von Dateien II Das Verschieben von Dateien wie in der Lösung (3a) ist sehr ineffizient, da bei fast vollen Dateisystemen sehr viele Blöcke verschoben werden müssen jeder I/O-Vorgang relativ zur CPU-Geschwindigkeit sehr langsam ist Daher werden einfach-verkettete lineare Listen zur Verkettung der Dateien benutzt (Lösung 3b). Verweis auf den 1. Block Zeiger Zeiger Zeiger NULL Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 26

Ablegen von Dateien III Fragment = Belegtes Stück auf dem Medium, wenn dessen Blöcke direkt aufsteigende Nummern haben. Fragmentieren = Aufteilen einer Datei auf mehrere Fragmente, die an verschiedenen Orten auf dem Medium liegen Fragmentieren hat folgende Vorteile: Schnelles Ablegen der Information beim Schreiben Optimale Ausnutzung der Platte ohne Reorganisation Und folgende Nachteile: Lesen einer Datei von vorn nach hinten erfordert mehrfaches Positionieren des Aktuators (Zeitverluste) Bei Verlust des Deskriptors (Plattenfehler) ist eine Rekonstruktion der Datei nur sehr schwer Defragmentieren = Reorganisation der Blockbelegung einer Datei, so dass möglichst nur ein Fragment erforderlich ist Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 27

Partitionen I Aufsteigende Zylindernummer Booter Root-FS Swap User-FS User-FS... User-FS Häufige Kopfbewegungen FS = Filesystem Einteilung einer großen Platte in mehrere logische Platten, die jeweils Partitionen genannt werden. Ein Tabelle der Zylinderbereiche der Partitionen befindet sich vorne im Bootbereich, d.h. im Block 0. Dort liegt auch der Code des ersten Booters Das Root-Filesystem ist das, was während des Bootens zum Laden des Betriebssystems benutzt wird und daher das erste Dateisystems ist, auf das zugegriffen wird. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 28

Partitionen II Partitions Eine Partition besteht aus einer Zylindergruppe. Gründe für das Partitionieren: Ein Hardware-Fehler wirkt sich nur auf die betroffenen Partitionen aus, alle anderen Bereiche bleiben intakt. Durch die Begrenzung auf einen Bereich reduzieren sich die Entfernungen der Kopfbewegungen (kürzere Positionierungszeit). Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 29

Beispiel: PC-Microsoft-System I Im 1. Block gibt es den Master-Boot-Record (MBR), der vier Deskriptoren für Partitionen hat. Die Einträge in dieser Partitionstabelle enthalten die Größe sowie die Startblocknummer der Partitionen des Mediums. Siehe: http://de.wikipedia.org/wiki/partitionstabelle Primäre Partitionen = Partitionen, deren Deskriptoren im MBR liegen Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 30

Beispiel: PC-Microsoft-System II Um mehr als vier Partitionen zu erhalten, werden die Boot- Sektoren der Partitionen selbst zur Beschreibung benutzt. Diese "lokalen" Boot-Sektoren sind linear miteinander verkettet, so dass lediglich ein Eintrag im MBR über die erste sekundäre Partition reicht. Sekundäre Partitionen = Partitionen, deren Deskriptoren nicht im MBR, sondern im eigenen Boot-Sektor liegen Aus der Sicht des MBR liegen alle sekundären Partitionen in einem Behälter, der den hintersten zu benutzten Eintrag im MBR belegt. Siehe: http://de.wikipedia.org/wiki/master_boot_record Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 31

Empfehlungen Beispiel für Windows Partition C: Nur Betriebssystem und installierte Software Partition D: Daten Partition E: Backup (Kopie von Daten) Immer möglichst Daten (das sind die wichtigsten Dinge) und Software trennen. Denken Sie immer an Backups. Legen Sie immer regelmäßig Backups an! Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 32

Beispiele einer Partitionierung I Einfache Windows 2000-Installation Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 33

Beispiele einer Partitionierung II Dual-Boot-System mit Windows XP und Linux auf einer Platte Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 34

MSDOS-Dateisystem FAT16/32 Von Microsoft ab 1977 entwickelt FAT = File Allocation Table Verschiedene Versionen: FAT16 (16 bit FAT) FAT32 (32 bit FAT) Kleinste adressierbare Einheit: Cluster bestehend aus mehreren hintereinander liegenden Blöcken Blöcke haben die Länge von 512 Byte Maximale Blockzahl pro Cluster: 64 Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 35

FAT32 FAT32 Blockadressen sind 32 bit, wobei nur 28 bit benutzt werden maximal 2 28 = 268.435.456 Cluster Dateisystemgröße 8 Gbyte bei Clustergröße von 4 Kbyte maximal 2 43 Byte (ca. 8,8 TeraByte) Maximale Größe einer Datei: 4 GByte-1 Dateinamen im 8.3-Format (8 Zeichen vor einem Punkt und 3 danach) Siehe http://de.wikipedia.org/wiki/8.3 VFAT (Virtualized FAT) Wie FAT32 und wie FAT16 Lange Dateinamen Mehr Zeichen im Dateinamen erlaubt Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 36

Aufbau des FAT-Dateisystems I Blöcke für Dateien und Verzeichnisse FAT FAT Wurzelverzeichnis FAT und Kopie Volumen Boot Sector Master Boot Record (MBR) Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 37

Aufbau des FAT-Dateisystems II Im ersten Block eines FAT-Dateisystems befindet sich der Volumen Boot Sector. Dieser enthält: Boot Code, der vom Boot Code des Master Boot Records (MBR) angesprungen wird. Tabellen mit Größenangaben dieses Dateisystems Der Master Boot Record (MBR) befindet sich häufig im Volumen Boot Sector und enthält die Partitionstabelle mit maximal 4 Einträgen. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 38

Aufbau des FAT-Dateisystems III Cluster/Blöcke für die Dateien/Ordner werden aus der Menge der Cluster hinter der zweiten FAT benutzt. Weil die FAT die Daten der Verkettung der Blöcke enthält, wird eine Kopie angefertigt. Die Ordner bestehen aus einem Feld von Strukturen, in denen auch der Dateiname abgelegt ist. Da Dateiname und Dateiverwaltungsinformation zusammen an einer Stelle stehen, sind Links (Verknüpfungen) nicht möglich. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 39

Beispiele einer Partitionierung III Memory-Stick mit FAT32 Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 40

Verkettung der Dateiinhalte I Die Ordner und die Dateien werden durch einfach vorwärts verkettete lineare Listen von Clustern (Zusammenhängende Reihe von Blöcken) realisiert (Prinzip): Verweis auf den 1. Block Zeiger Zeiger Zeiger NULL Die Zeiger (Verweise) werden nun nicht in den Blöcken, sondern in der FAT-Tabelle getrennt von den Blöcken abgelegt. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 41

Verkettung der Dateiinhalte II - Beispiel [23] [25] [30] [33] 25 30 33-1 Deskriptor im Ordner 23 Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 42

Verkettung der Dateiinhalte III - Beispiel [23] [25] [30] [33] Deskriptor im Ordner Cluster der Datei 23 FAT 25 30 33-1 [22][23][24][25][26][27][28][29][30][31][32][33] Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 43

Aufbau der FAT Die FAT ist ein Feld von Verweisen auf Cluster, wobei jedem Cluster genau ein Eintrag in der FAT zugeordnet ist, d.h. dem Cluster N ist der N. Eintrag in der FAT zugeordnet, so dass von der Clusternummer schnell auf den FAT-Eintrag zugegriffen werden kann. In einem FAT-Eintrag steht die Clusternummer des folgenden Clusters oder der Wert 0xFFFF und zeigt, dass der korrespondierende Cluster der letzte der Datei ist, oder der Wert 0x0000 und zeigt, dass der korrespondierende Cluster frei ist (Free list) oder ein Wert und zeigt, dass der korrespondierende Cluster defekt ist. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 44

Directory-Eintrag (Deskriptor) Offset 0 8 11 22 26 Filename Extension Attribute... Änderungsdatum Erster Cluster COMMAND.COM Bit 1: Read Only Bit 2: Versteckt Bit 3: Systemdatei Bit 4: Volumen ID Bit 5: Ordner Bit 6: Archiv 28 Dateigröße Größe 32 byte Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 45

Bemerkungen zu den Ordnern Ordner bestehen aus einer Reihe von 32-byte-langen Deskriptoren. Jeder Ordner enthält die Datei ".", welche die Clusterverkettung für den eigenen Ordner enthält Jeder Ordner enthält die Datei "..", welche die Clusterverkettung des Elternordners enthält. Unterverzeichnisse sind Einträge mit gesetztem Attribut "Ordner". Das erste Byte des Dateinamens zeigt den Status der Ordnereintrags (Belegt, Gelöscht:0xE5 etc.) - dieses Byte ist auch das 1. des Dateinamens, d.h. dieses Byte hat zwei Bedeutungen. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 46

VFAT/FAT32 Einführung langer Dateinamen sowie eines größeren Zeichensatzes: Bis zu 255 Zeichen lange Dateinamen Zeichen wie "+,;=[]" sind auch erlaubt Realisierung Der erste Ordnereintrag ist wie bei der alten Version mit einem Ersatz-MSDOS-Namen, z. B. "Bueche~1.doc", belegt. Anschließend werden die darauf folgenden Directory-Einträge für den Rest des langen Namens verwendet Damit diese nicht mit richtigen Einträgen verwechselt werden, erhalten diese eine unsinnige Attribut-Kombination. Beginn/Ende werden durch eine laufende Nummer und ein Ende-Flag gekennzeichnet. Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 47

Nach dieser Anstrengung etwas Entspannung... Computer-Systeme WS 12/13 - Teil 16/Dateisysteme 48