Informatik Betriebssysteme – Dateisysteme und Inodes
Karteikarten zum Thema „Informatik“ · 14 Karten · von atrio. Beispiele: Was ist ein Inode in Unix-Dateisystemen? · Welche Metadaten hält ein Inode bereit?
Karten
14 KartenWas ist ein Inode in Unix-Dateisystemen?
Rückseite
Ein Inode (Index Node) ist eine Datenstruktur, die Metadaten einer Datei speichert: Berechtigungen, Besitzer, Zeitstempel und Zeiger auf Datenblöcke, aber nicht den Dateinamen.
Welche Metadaten hält ein Inode bereit?
Rückseite
Inode-Nummer, Dateityp, Zugriffsrechte (Mode), Owner-UID/GID, Zeitstempel (atime, mtime, ctime), Link-Count, Dateigröße und Zeiger auf Datenblöcke (Direct, Indirect, Double/Triple Indirect).
Wie werden Datenblöcke über Inodes adressiert?
Rückseite
Ein Inode enthält 12 direkte Blockzeiger, einfach indirekten, doppelt indirekten und dreifach indirekten Zeiger, womit Dateien von wenigen Bytes bis Terabytes wachsen können.
Was speichert ein Verzeichnis in Unix-Dateisystemen?
Rückseite
Ein Verzeichnis ist eine spezielle Datei, die Einträge aus Dateinamen und zugehörigen Inode-Nummern enthält – der Name liegt im Verzeichnis, die Metadaten im Inode.
Wie funktioniert die Pfadauflösung bei /home/user/file.txt?
Rückseite
Kernel startet bei Root-Inode (2), liest Verzeichniseinträge: 'home' → Inode X, 'user' → Inode Y, 'file.txt' → Ziel-Inode Z.
Was unterscheidet Hardlinks von symbolischen Links?
Rückseite
Hardlinks sind zusätzliche Verzeichniseinträge auf denselben Inode (gleiche Inode-Nummer, Link-Count steigt). Symlinks sind separate Dateien mit eigenem Inode, die den Zielpfad als Text speichern.
Was passiert beim Aufruf von unlink() auf eine Datei?
Rückseite
unlink() entfernt den Verzeichniseintrag und dekrementiert den Link-Count. Erst bei Link-Count 0 und keinem offenen File Descriptor werden Inode und Datenblöcke freigegeben.
Welche Rolle spielt der Superblock im Dateisystem?
Rückseite
Der Superblock enthält globale Metadaten: Dateisystem-Typ, Blockgröße, Anzahl Inodes/Blöcke, freie Inodes/Blöcke (via Bitmap), Mount-Status und Magic Number zur Identifikation.
Wie verwaltet das Dateisystem freie Inodes und Blöcke?
Rückseite
Über Bitmaps (oder Free Lists): jedes Bit repräsentiert einen Inode/Datenblock (0 = frei, 1 = belegt). Bei Erstellung wird das erste freie Bit gesucht und gesetzt.
Was liefert der Systemaufruf stat() zurück?
Rückseite
stat() füllt eine struct stat mit Inode-Metadaten: st_ino (Inode-Nummer), st_mode (Typ+Rechte), st_nlink (Link-Count), st_uid/gid, st_size, st_atime/mtime/ctime, st_blocks.
Welche Dateitypen unterscheidet das Inode-Mode-Feld?
Rückseite
Reguläre Datei (S_IFREG), Verzeichnis (S_IFDIR), Symbolischer Link (S_IFLNK), Block-Device (S_IFBLK), Character-Device (S_IFCHR), FIFO/Pipe (S_IFIFO), Unix-Socket (S_IFSOCK).
Was ist Inode-Exhaustion und wann tritt sie auf?
Rückseite
Inode-Exhaustion: Alle Inodes sind vergeben, obwohl Datenblöcke frei sind. Tritt bei vielen kleinen Dateien auf (viele Inodes, wenig Platz pro Datei). df -i zeigt Nutzung.
Wie wirkt sich mount() auf die Inode-Namensräume aus?
Rückseite
mount() hängt ein Dateisystem in den Verzeichnisbaum ein: Das Root-Verzeichnis des neuen FS ersetzt den Mountpoint-Eintrag; Inode-Nummern sind nur innerhalb ihres FS eindeutig.
Was passiert bei open(O_CREAT) auf nicht existierender Datei?
Rückseite
Kernel alloziert freien Inode, initialisiert Metadaten (Mode via umask, Owner, Zeitstempel), erstellt Verzeichniseintrag im Elternverzeichnis, gibt File Descriptor zurück.