Beispiel-Dateisysteme
Beispiel-Dateisysteme
Auf einen Blick
Drei klassische Umsetzungen derselben Ideen: FAT (Deskriptoren im Verzeichnis, zentrale Tabelle), NTFS (alles in der MFT, „alles ist eine Datei mit Attributen"), Unix-FS/ext (zentrale Inodes).
FAT
- hält die Datei-Deskriptoren im Directory,
- verwaltet alle Plattenblöcke in einer Tabelle (der File Allocation Table → verkettete Liste mit Tabelle).
- einfach, weit verbreitet (USB-Sticks, SD-Karten), aber ohne Journaling und mit Größenlimits.
NTFS (Windows NT/2000/XP+)
- liegt auf einem Volume (Partition).
- sieht „alles als Datei" an — eine Datei ist ein strukturiertes Objekt aus Attributen (z.B. dem Dateninhalt).
- alle Dateien werden zentral in der Master File Table (MFT) verwaltet.
- alle Änderungen werden in einem LogFile protokolliert (Journaling).
- nutzt Extents; eine Datei = ein BASE-Record + ggf. Erweiterungsrecords, identifiziert über die volume-weit eindeutige File Reference.
Layout: Bootblock | MFT | Metadaten | Daten.
Unix-FS / ext (FFS, UFS, ext2, ext3)
Annahmen klassischer Unix-Filesysteme:
- ein File ist eine Folge unformatierter Bytes,
- „alles ist ein File" (auch Geräte),
- Zugriffsinfos stehen in einer Inode (index node).
Datei-Typen (Folge des „alles ein File"-Ansatzes):
- reguläre Files — Daten in binärer Form
- special files — Schnittstelle zu OS-Objekten/Geräten: block-orientiert (wahlfrei, z.B. Festplatten) oder zeichen-orientiert (Bytestrom, z.B. Netzwerkkarten)
- Directories (mitunter als dritte Form)
ext2-Layout
Bootblock | Block-Gruppe 1 | Block-Gruppe 2 | …, jede Gruppe mit Superblock (Verweise auf Inodes & freie Blöcke, Root-Verzeichnis, Flags), Bitmaps, Teil der Inode-Tabelle und den Daten.
Verwandte Notes
Inode · Datenblock-Verwaltung · Journaling · Technische Sicht auf Dateisysteme