Wirtschaftsinformatik (Bachelor-Studiengang): Rechnerarchitketur & Betriebssysteme (1. Semester)

Sie sind hier: StartseiteWirtschaftsinformatikRechnerarchitektur/Betriebssysteme: Dateisysteme

BM / CM, Kurs vom 01.04.2002 - 30.09.2002

Rechnerarchitektur/Betriebssysteme: Dateisysteme: Dateisysteme auf Massenspeichern (Logische Sektoren (Blöcke), Treiberschnittstelle), Dateisystem (File-System), Montieren (Mount) (Montieren bei Unix, MS-DOS-Dateisysteme), MS-DOS: FAT16 und FAT32.

  1. Dateisysteme auf Massenspeichern
  2. Dateisystem (File-System)
  3. Montieren (Mount)
  4. MS-DOS: FAT16 und FAT32

Dateisysteme auf Massenspeichern

Die Organisation von Daten auf Speichermedien wird durch ein Dateisystem (File-System) realisiert. Dieses Dateisystem ist - mit wenigen Ausnahmen - für verschiedene Medien gleich:

Im folgenden wird stellvertretend für diese Medien bzw. Geräte Festplatten betrachtet.

Logische Sektoren (Blöcke)

Aus der Hardware-Struktur (Zylinder, Spuren, Sektoren) wird durch Software ein Feld von Blöcken gebildet, dessen Index die Blocknummer auf dem Gerät bildet.

Die Platte kann dann als Feld mit der Blocknummer (Index) von 0 beginnend bis zu höchsten Block benutzt werden.

Das Berechnen der Zylinder, Spuren, Sektoren anhand der Blocknummer (sowie der umgekehrte Weg) erledigt ein Treiber (device driver) mit einer für alle Geräte gleichen Kernel internen Schnittstelle.

Treiberschnittstelle

Alle Treiber haben innerhalb des Kernel eine einheitliche Schnittstelle (API), die im Prinzip wie folgt aufgebaut ist:

Dadurch wird es sehr einfach, unterschiedliche Geräte in den Kernel einzubinden, da alle Besonderheiten der Geräte in den Treibern versteckt sind.

Der Kernel ist in zwei Bereiche eingeteilt:

Die Treiberroutinen sind die, die an die Geräte-Register gehen, den Interrupt-Handler stellen, die DMA-Operationen veranlassen ... [die Schnittstelle zum Geräte-unabhängigen Teil des Kernel 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 installiert, d.h. dem Betriebssystem zugänglich gemacht werden.

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Dateisystem (File-System)

Ein Dateisystem (File-System) ist eine Organisation von Blöcken auf dem Gerät zur Ablage von

  1. Verzeichnis für das ganze Dateisystem
  2. Verzeichnis für Beschreibungen aller Dateien
  3. Verzeichnis von Verkettungen von Blöcken
  4. Mit Nutzdaten belegte Blöcke sowie freie Blöcke

Eine Datei besteht damit aus:

Inhalt der Beschreibungen:

Struktur eines typischen Unix-File-Systems:

Struktur eines typischen Unix-Filesystems

Bildbeschreibung "Struktur eines typischen Unix-File-Systems": Eine Reihe von Blöcken. Block 1 = Boot-Block. Block 2 = Superblock. Dem folgen Blöcke, die ein Array von Beschreibungen bilden. Danach kommen Blöcke, die ein Array mit Daten und Hinweisen enthalten. Und zuletzt noch ein paar Blöcke.

Da nur in den wenigsten Fälle eine Datei in einen Block passt, muss eine Datei als Kette von Blöcken verwaltet werden.

D.h. irgendwo muss für jeden Block (außer am Ende) vermerkt werden, welcher Block der folgende ist.

Dies sollte aus Performance-Gründen nicht im Block selbst, sondern außerhalb sein. Daher werden die Verweise auf die ersten Blöcke in der Beschreibung selbst abgelegt, dann ein Verweis auf einen Block, in dem Verweise auf Blöcke stehen (2. Stufe), dann ein Verweis auf einen Block, in dem Verweise auf Blöcke stehen, in denen sich Verweise auf Blöcke befinden (3. Stufe) ...

Die Anwendung dieser Möglichkeiten hängt natürlich von der Länge der Datei ab.

Blockverkettungen (Beispiel):

Blockverkettungen

Bildbeschreibung "Blockverkettungen": Grafische Darstellung des vorangehend beschriebenen Stufenprinzips.

Der Boot-Block dient zur Ablage des Codes, der zum Booten (Hochfahren) eines Kerns benötigt wird. Dieser Code sucht den Betriebssystemkern und kopiert dessen Blöcke in den RAM. Danach springt der Booter in den gerade kopierten RAM-Bereich.

Der Superblock ist eine Art globales Inhaltsverzeichnis, das den Aufbau, insbesondere die Länge der Abschnitte im Dateisystem festlegt.

Darüber hinaus wird die Liste der freien Blöcke über den Superblock verwaltet (Freiliste, free list). Wenn dieser Superblock verloren geht, ist das Dateisystem meist nicht mehr zu retten. Daher werden Kopien der Superblöcke auf der Platte verteilt.

Partitionen ( Partitions)

Einteilung einer großen Platte in mehrere logische Platten, die Partitionen genannt werden.

Eine Tabelle der Zylinderbereiche der Partitionen befindet sich vorne im Boot-Bereich.

Partitionen

Bildbeschreibung "Partitionen": Einteilung einer großen Platte in mehrere logische Platten.

Es wird empfohlen, für das Swapping ein eigenes File-System anzulegen, für die Programme ein weiteres und für jeden größeren Anwendungsbereich auch.

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Montieren ( Mount)

Ein Mount (Montieren) zweier Dateisysteme ist ein Zusammensetzen, so dass von einem Wurzel-Dateisystem ausgehend alle Dateien über Pfade erreichbar sind. Das Wurzel-File-System ist das, von dem "gebootet" wurde.

Montieren bei Unix

Montieren (Unix) - Vorher:

Montieren (Unix) - Vorher

Bildbeschreibung "Montieren (Unix) - Vorher": Das Montieren von B in A besteht darin, dass ein Ordner von A durch das Wurzelverzeichnis von B samt allen daran hängenden Verzeichnissen überdeckt wird.

Montieren (Unix) - Nachher:

Montieren (Unix) - Nachher

Bildbeschreibung "Montieren (Unix) - Nachher": 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.

MS-DOS-Dateisysteme

Bei den Dateisystemen der MS-DOS-Serie: Windows 95..ME, Windows NT bis XP ist das Montieren anders realisiert:

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

MS-DOS: FAT16 und FAT32

Von Microsoft ab 1977 entwickelt. FAT = File Allocation Table.

Verschiedene Versionen:

Kleinste adressierbare Einheit: Cluster bestehen aus mehreren Blöcken.

Dateisystemgrößen (Beispiele):

MS-DOS-File-Systeme FAT16/32

FAT32:

FAT32 (Weiterentwicklung), VFAT (Virtualized File Allocation Table):

Klassischer Aufbau:

Klassischer Aufbau

Bildbeschreibung "Klassischer Aufbau": Volumen Boot Sector, FAT, FAT (Kopie), Wurzelverzeichnis, ... (Blöcke für Dateien und Verzeichnisse).

Im ersten Sektor (Block) befindet sich der Volumen Boot Sector, der nur für das betreffende Dateisystem gilt.

Dieser enthält:

Der Master Boot Record befindet sich im 1. Sektor des gesamten Mediums und enthält die Partitionstabellen. Partitionstabellen enthalten die Größenangaben der Partitions des Mediums.

Ordner werden wie Dateien durch einfach vorwärts verkettete lineare Listen von Clustern realisiert. Cluster für Dateien/Ordner werden aus der Menge der Cluster hinter der zweiten FAT geholt.

Weil die FAT wichtige Daten enthält, wird eine Kopie angelegt, was in der Praxis wenig hilft, da die Kopie sich zu dicht am Original befindet.

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 (bei Unix steht die Verwaltungsinformation in den Beschreibungen und die Dateinamen in den Ordnern).

Directory-Eintrag:

Directory-Eintrag

Bildbeschreibung "Directory-Eintrag": Offset 0 = Filename, Offset 8 = Extension, Offset 11 = Attribute, ..., Offset 22 = Änderungsdatum, Offset 26 = Erster Cluster, Offset 28 = Dateigröße.

Ordner bestehen aus einer Aneinanderreihung von 32-byte-langen Einträgen. 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 für den Elternordners enthält. Unterverzeichnisse sind Einträge mit gesetztem Attribut "Directory".

Das erste Byte des Dateinamens zeigt den Status der Ordnereintrags (Belegt, Gelöscht:0xE5) - dieses Byte ist auch das 1. des Dateinamens.

Um das Booten für ältere Systeme einfacher zu machen:

Diese Beschränkungen haben spätere Systeme nicht. Dass die FAT auch als Kopie vorliegt ist sehr gut, nicht gut ist, dass die Kopie unmittelbar dem Original folgt, da in der Praxis bei Zerstörungen der Original-FAT meist auch die Kopie zerstört ist.

Aufbau der FAT:

Die FAT ist ein Feld von Verweisen auf Cluster, wobei jedem Block 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 dem FAT-Eintrag steht:

VFAT/FAT32:

Einführung langer Dateinamen sowie größerer Zeichensatz:

Realisierung: