Inode
Inode
Unter Unix wird jede Datei durch eine Inode (index node) beschrieben — die Inode ist die Datei. Sie enthält die Attribute und Verweise auf die Datenblöcke (direkt + mehrstufig indirekt). Der Dateiname steht nicht in der Inode, sondern im Verzeichnis.
Was steht in der Inode?
Jede Datei wird durch eine Inode beschrieben; Inodes liegen in der Inode-Tabelle des Dateisystems. Inhalt u.a.:
- Rechte und weitere Attribute (→ Sicherheit im Dateisystem)
- Verweise auf Blöcke: direkt, einfach-indirekt, zweifach-indirekt, dreifach-indirekt
- Referenzzähler (Link Count) — Anzahl der Verzeichnis-Einträge, die auf diese Inode zeigen
Interaktiv: Blockadressierung
Klicke die Stufen an und sieh, wie eine kompakte Inode winzige und riesige Dateien adressiert:
Die direkten Adressen machen kleine Dateien schnell (kein Extra-Zugriff). Die indirekten Stufen (einfach/doppelt/dreifach) erweitern die Kapazität enorm — auf Kosten zusätzlicher Zugriffe bei großen Dateien (→ indizierte Verwaltung).
Name Lookup & Directories
Die Abbildung Dateiname → Inode ist der Name Lookup. Dafür braucht es Verzeichnisse:
- ordnen Name → Inode zu,
- sind notwendig, um überhaupt Zugriff auf Dateien zu erhalten,
- sind häufig gecached.
Implementierbar als verkettete Liste, Hash oder Baum.
Mehrere Verzeichnis-Einträge können auf dieselbe Inode zeigen (Hard Links) — daher der Link Count. Erst wenn er auf 0 fällt, wird die Datei wirklich gelöscht (Konsistenz!).
Verwandte Notes
Beispiel-Dateisysteme · Datenblock-Verwaltung · Technische Sicht auf Dateisysteme · Sicherheit im Dateisystem