siehe: Unix Datei

Überblick

Logische Sicht auf ein Dateisystem

Ablage des Datei-Inhalts

  • Datei-Inhalt: Folge von Bytes

  • Organisation der Platte: Block-orientiert

1.Versuch: Sequentielle Ablage

  • Ablage in einen „zusammenhängenden“ freien Bereich auf der Platte (z.B. nach First-Fit-Prinzip)
  • Einfacher Zugriff auf jedes Byte (ab Anfangsadresse zählen)

Aber

  • Verschnittprobleme
  • Dynamisches Wachsen schwierig
    Block-Struktur der Platte nicht ausgenutzt

2.Versuch: Blockweise Ablage

  • Bytestrom in Dateiblöcke aufteilen

  • Dateiblöcke in Plattenblöcke ablegen (im Prinzip beliebig über Platte verstreut)
    Bytenummer in Datei = Blocknummer + Adresse in Block

  • Keine Verschnittprobleme (jeder Plattenblock nutzbar)

  • Wachsen der Datei: Neue Plattenblöcke zuweisen

  • Schrumpfen der Datei: Plattenblöcke freigeben

Aber Auffinden der Bytes komplizierter

Verkettete Listen

  • Verweis von einem Block auf den nächsten
  • Dynamisches Wachsen/Schrumpfen einfach
  • Aber: nur sequentieller Zugriff direkt unterstützt
    wahlfreier Zugriff dauert lange

Block-Index

  • Zuordnungstabelle, über Dateiblocknummer indiziert
  • Wahlfreier Zugriff einfach
Aber:
  • Größe der Tabelle variabel (große vs. kleine Dateien)

Freispeicherverwaltung (freie Plattenblöcke)

  • Ähnliche Verfahren denkbar
    • Verkettete Liste
      • kein wahlfreier Zugriff erforderlich
      • allerdings langwierig für große Anfragen
    • Block-Index-Varianten

auch Mischformen denkbar