Dateiverwaltung
Datei
Eine Datei ist ein Bestand an zusammengehörigen digitalen Daten, die dauerhaft auf Speichermedium gespeichert sind.
→ Durch die Einschränkung auf digitale Daten entsteht eine Abgrenzung zu jeglicher Art von nicht-digitalen Daten
CRUD-Operationen
→ auf den Speichermedien müssen Dateien angelegt, gelesen, verändert und gelöscht werden können
→ CRUD-Operationen: Create, Read, Update, Delete
Organisation von Daten auf Speichermedien und die Bereitstellung der CRUD-Operationen geschieht mit Hilfe eines Dateisystems.
Dateisystem
Ein Dateisystem ist der Teil eines BS, der geordnete Ablage und Wiederfinden von Dateien auf Speichermedien ermöglicht
- die erforderlichen Zugriffsmöglichkeiten werden für die verwalteten Dateien bereitstellt
- Zugriffsmöglichkeiten auf einzelne Dateien werden mit den CRUD-Operationen angesproche
- Ein Dateisystem stellt darüber hinaus noch Operationen zur Verfügung:
- Verwalten von Verzeichnissen, Speicherplatz und von Datei- oder Verzeichnisattributen
- Kopieren von Dateien oder Verzeichnissen
- Verschieben von Dateien oder Verzeichnissen
Laufe der Jahrzehnte wurden bemerkenswert viele verschiedene Dateisysteme entwickelt
Dateisystemkonzepte
Von Windows unterstützte Dateisysteme: CDFS - UDF - FAT12 - FAT16 - FAT32 - exFAT - NTFS
→ Eine Unterstützung weiterer Dateisysteme ist nur durch die Installation zusätzlicher Treiber möglich.
Ein Datenträger (Disk) ist ein physisches Speichermedium, welches in der Lage ist, digitale Daten dauerhaft zu speichern.
→ Festplatte - CD - DVD - USB-Stick
Unter einem Sektor versteht man einen Hardware-adressierbaren Block auf einer Disk.
→ Festplatte ist aufgeteilt in eine herstellungsbedingte Anzahl an Sektoren mit einer Größe von 512 Byte
→ Multipliziert mit der Anzahl der Sektoren ergibt sich so die Gesamt-Speicherkapazität einer Festplatte.
Unter einer Partition versteht man eine Folge von zusammenhängenden Sektoren, kann identisch mit Volume sein.
Ein Volume ist ein dem Nutzer des Betriebssystems bereitgestellten Speicherbereich für Dateien und Verzeichnisse (C: / D:).
Ein Volume kann aus mehreren Partitionen bestehen
→ Zwei Festplatten mit gleichgroßen Partition können unter Windows zu gespiegelten Volume zusammengefasst werden (RAID)
Ein Cluster ist einen adressierbaren Block in einem Dateisystem, der Zusammenfassung von Sektoren einer Disk darstellt.
→ Ein Cluster besteht aus einem oder mehreren Sektoren
→ Seine Größe ist stets ein ganzzahliges Vielfaches der Sektorgröße
→ Da Cluster vom Dateisystem verwaltet werden, liegen alle Sektoren eines Clusters stets auf demselben Volume.
Unter einer Datei versteht man eine Zusammenfassung von Clustern, eine Datei ist auf genau einem Volume gespeichert
Windows unterstützte Dateisysteme
FAT - File Allocation Table
Eine Tabelle, über die einerseits eine Zuordnung von Clustern zu Dateien verwaltet wird, andererseits gibt die FAT Aufschluss über freie und belegte Cluster eines Dateisystems.
freie Cluster: 4, 7, 10, 13, 14, 18, 19, 28 und 30.
→ Sobald eine Datei auf dem durch diese FAT verwaltete Dateisystem gespeichert werden soll, wird die Datei - entsprechend ihrer Größe - auf freien Cluster verteilt
Datei zusammensetzen
Beim Zugriff auf eine Datei, welche auf einem Dateisystem gespeichert ist, das durch die FAT verwaltet wird, muss das Betriebssystem die zu dieser Datei gehörigen Cluster ermitteln:
- Datei computer.txt beginnt in Cluster 6. (Information kommt aus Verzeichniseintrag)
- Das Betriebssystem sucht in der FAT die Zeile 6
- Hier gibt es einen Verweis auf Cluster-Nr. 9
- Zeile 9 verweist auf Cluster-Nr. 24.
- Zeile 24 verweist auf Cluster-Nr. 2.
- Zeile 2 verweist auf Cluster-Nr. 8.
- Zeile 8 verweist auf "nil", was bedeutet, dass kein weiterer Cluster folgt.
→ Somit kann der Inhalt der Datei computer.txt durch die Inhalte der folgenden Cluster zusammengesetzt werden: 6, 9, 24, 2, 8
Beim Zusammensetzen des Dateiinhalts ist Clustereihenfolge zu beachten.
NTFS - New Technology File System
→ Das Tool ntfsinfo.exe liefert eine Reihe von Informationen zu den verwendeten Größen für Volume, Sektor, Cluster, etc.
→ Im Master File Table (kurz MFT) speichert NTFS-Dateisystem Informationen zu Dateien / Verzeichnissen eines mit NTFS formatierten Volumes.
Beispiel:
→ ein Sektor (0,1,2,3,...) ist 512 Byte groß → ein Cluster ist 2048 Byte groß
→ es soll eine Datei (3000 Byte) abgespeichert werden
→ BS: das Dateisystem benötigt 2 Cluster!
Als Partition werden die zusammenhängenden, aufeinanderfolgenden Datenblöcke eines Teils eines Volumes bezeichnet.
Die Umrechnung zwischen Clustur und Sektor passiert über den Treiber
Wenn ich die Nummer des Clusters habe, kann ich die Nummer des zugehörigen Sektors berechnen