Ich versuche zu verstehen, wie das UNIX-Dateisystem in Bezug auf Inodes funktioniert. Soweit ich weiß, wird ein Verzeichnis einfach als Tabelle mit einem Eintrag der Form [name: inode] für jedes Unterverzeichnis oder jede Datei dargestellt.Wie das UNIX-Dateisystem eine Struktur mit Knoten bildet
Wo ich verwirrt bin, ist, wie diese Verzeichnisse eine Struktur bilden. Wenn ich ein Verzeichnis 'root' hätte, das ein Unterverzeichnis 'home' enthält, das eine Datei 'file.txt' enthält, dann glaube ich, dass das root-Verzeichnis einen Eintrag ['home' :(home associated inode)] hätte in die "Home" -Verzeichnistabelle?
Jede mögliche Hilfe oder Anleitung sehr geschätzt werden, Ben
Danke das ist sehr hilfreich! Sie erwähnen, dass die Inhalte über Zeiger auf Plattenblöcke gespeichert werden, sind die Inode-Nummern auch Zeiger auf andere Inode-Positionen auf der Festplatte oder werden sie auf andere Weise verwaltet? – BenJacob
@BenJacob Ich bin mir weniger sicher, und ich denke, verschiedene Dateisystem-Implementierungen machen es auf verschiedene Arten. Ich denke, es gibt normalerweise eine strukturierte Zuordnung zwischen Inoden und Plattenblöcken. Beispielsweise könnte der Plattenblock 100 die Inoden 10 bis 19 enthalten, der Plattenblock 200 könnte die Inoden 20 bis 29 usw. enthalten. Verzeichniseinträge in Verzeichnisinoden werden Inodennummern zugeordnet, Plattenblockzeiger in Inoden zeigen auf Plattenblocknummern. Um eine Inode-Nummer "i" in einen Plattenblock umzuwandeln, nimm '(i/10) * 100' und schaue dann auf den '(i% 10)' 'ten Inode in diesem Block. Oder etwas ähnliches. –
Ich sehe so in dieser Konfiguration bin ich richtig in der Annahme, dass die Anzahl der Inodes und Blöcke sind fixiert und wenn wir ein Verzeichnis erstellen füllen wir einfach eine leere Inode mit den neuen Informationen? – BenJacob