Computer-Systeme. Teil 16: Dateisysteme



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

Computer-Systeme Teil 16: Dateisysteme

Betriebssysteme Teil 15: Dateisysteme Teil 1

Betriebssysteme Teil 14: Dateisysteme

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

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

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Partitionieren und Formatieren

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Installation OMNIKEY 3121 USB

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand

Dokumentation IBIS Monitor

Wie halte ich Ordnung auf meiner Festplatte?

SOFiSTiK AG Installationsanleitung

Verschlüsselung mit PGP. Teil 1: Installation

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Einführung in. Logische Schaltungen

WinVetpro im Betriebsmodus Laptop

Betriebssysteme Arbeiten mit dem Windows Explorer

> Soft.ZIV. Maple Mathematisches Software System

TrueCrypt Anleitung: Datenschutz durch Festplattenverschlüsselung

Windows Vista Security

Anleitung über den Umgang mit Schildern

Computerstammtisch Tegernau, Tutorial Grundlagen, Dateioperationen, Datensicherung (Screenshots und Erläuterungen beziehen sich auf Windows 7)

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

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

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Arbeiten mit UMLed und Delphi

Step by Step Webserver unter Windows Server von Christian Bartl

Stift-Karussell in M-Plot einrichten

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Datei Erweiterungen Anzeigen!

Datenaustausch mit dem ClassPad II. CASIO Educational Projects

Partitionieren in Vista und Windows 7/8

AutoCAD Dienstprogramm zur Lizenzübertragung


Installationsanleitung CFM TWAIN 7.00 STI

Stand: Adressnummern ändern Modulbeschreibung

Dateimanagement in Moodle Eine Schritt-für

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Integration von SATA / RAID / SCSI Treibern in Windows XP Setup

Erstellen der Barcode-Etiketten:

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Das Omnikey 8751 e-health BCS...1 Auslesen über die LAN-Schnittstelle...1 Auslesen über die serielle Schnittstelle...4

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

6.2 FAT32 Dateisystem

Computeria Solothurn

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Tipps und Tricks zu den Updates

Professionelle Seminare im Bereich MS-Office

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Konfiguration IKMZ / Universitätsrechenzentrum des Cisco VPN-Clients v3.6 Netze und Datenkommunikation

In diesem Bereich wird beschrieben, wie Sie eine Datensicherung der Software Jack Plus durchführen können.

Abschluss Version 1.0

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Verschlüsselung mit PGP. Teil 1: Installation

OPERATIONEN AUF EINER DATENBANK

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

Viele Bilder auf der FA-Homepage

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Informationen zu den regionalen Startseiten

EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil)

Verwalten und Organisieren von Fotos,

GEONET Anleitung für Web-Autoren

V-DOK 2.0 ClientUpdate und Scannen mit ScandAllPro Scannen unter V-DOK 2.0 ist nicht mehr im Standard verfügbar.

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

2. Darstellung von Information im Computer

Handbuch. TMBackup R3

Datenbanken Kapitel 2

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Computergruppe Heimerdingen Basiskurs. Karlheinz Wanja & Richard Zeitler

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / Bits & Bytes Seite 1

Der SD-Kartenslot befindet sich an der rechten Gehäuseseite unterhalb der rechteckigen hellgrauen Gummiabdeckung.

)$7)HVWSODWWHQ3DUWLWLRQ:HQLJHUNDQQPHKUVHLQ

Whitepaper. Produkt: combit address manager/combit Relationship Manager. Erweitertes David AddIn für Tobit. combit GmbH Untere Laube Konstanz

Grundlagen der Theoretischen Informatik, SoSe 2008

Elexis-BlueEvidence-Connector

Stammdatenanlage über den Einrichtungsassistenten

Bkvadmin2000 Peter Kirischitz

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Installationsanleitung für das Integrity Tool zur AusweisApp Version 1.7 (Microsoft Windows) Dokumentversion 1.0

Dokumentation TELAU Post Mobile Billitem Converter

Anleitung - Archivierung

Bedienungsanleitung für BackupMotion

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

4 Aufzählungen und Listen erstellen

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 1

Ü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 2

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 3

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 4

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 5

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 6

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 7

Montieren (UNIX) - Nachher /usr/clara /usr /usr/peter /usr/doris / /bin Filesystem F 1 Datei Directory /bin/x Filesystem F 2 /bin/x/windows /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 8

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 9

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 10

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 11

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 12

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 13

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 14

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 15

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 16

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 17

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 18

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 19

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 20

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 21

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 22

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 23

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 24