Ich weiß ein wenig über den Linux-Kernel. Aber für FreeBSD ist der „Vnode“ tatsächlich dem „Inode“ im Linux-Kernel ähnlich.
Und es gibt ein „Inode“-Konzept in FreeBSD oder Solaris.
Meine Frage lautet also: Wozu dient „Inode“ in FreeBSD?
Nachfolgend finden Sie interessante Informationen.
Danke schön.
http://hub.opensolaris.org/bin/view/Community+Group+advocacy/solaris-linux-freebsd
Alle drei Betriebssysteme verwenden eine Datenabstraktionsschicht, um die Implementierungsdetails des Dateisystems vor Anwendungen zu verbergen. In allen drei Betriebssystemen verwenden Sie Systemaufrufe wie Öffnen, Schließen, Lesen, Schreiben, Stat usw., um auf Dateien zuzugreifen, unabhängig von der zugrunde liegenden Implementierung und Organisation der Dateidaten. Solaris und FreeBSD nennen diesen Mechanismus VFS („virtuelles Dateisystem“) und die Hauptdatenstruktur ist der Vnode oder „virtueller Knoten“. Jeder Datei, auf die in Solaris oder FreeBSD zugegriffen wird, ist ein Vnode zugewiesen. Zusätzlich zu den allgemeinen Dateiinformationen enthält der Vnode Zeiger auf dateisystemspezifische Informationen. Linux verwendet auch einen ähnlichen Mechanismus, der ebenfalls VFS (für „virtueller Dateischalter“) genannt wird. In Linux ist die dateisystemunabhängige Datenstruktur ein Inode. Diese Struktur ähnelt dem Vnode unter Solaris/FreeBSD. (Beachten Sie, dass es in Solaris/FreeBSD eine Inode-Struktur gibt, dies sind jedoch dateisystemabhängige Daten für UFS-Dateisysteme.) Linux hat zwei verschiedene Strukturen, eine für Dateioperationen und die andere für Inode-Operationen. Solaris und FreeBSD kombinieren diese als „Vnode-Operationen“.
Antwort1
Ein inode
ist eine Struktur in einigen Dateisystemen, die die Metadaten einer Datei oder eines Verzeichnisses enthält (alle Informationen über die Datei außer ihrem Namen und ihren Daten). Es enthält Informationen über Berechtigungen, Eigentümerschaft, Erstellungs- und Änderungszeitpunkte usw.
Systeme, die eine virtualisierte Dateisystemzugriffsschicht bieten (FreeBSD, Solaris, Linux), können verschiedene zugrunde liegende Dateisysteme unterstützen, die Inodes verwenden können oder nicht. ReiserFS beispielsweise verwendet sie nicht, FreeBSD hingegen ffs2
schon. Die Abstraktionsschicht, über die Sie auf das Dateisystem zugreifen, bietet eine einzige und klar definierte Schnittstelle für Dateioperationen, sodass Anwendungen die Unterschiede zwischen verschiedenen Dateisystemimplementierungen nicht kennen müssen.