VFS und FUSE sind verwandt, aber nicht ganz dasselbe. Der Hauptzweck von FUSE besteht darin, Dinge, die fast-wie-Dateien-aber-nicht-recht sind (wie Dateien auf einem entfernten Server oder in einer ZIP-Datei) in "echte" Verzeichnisse und Dateien umzuwandeln. Sehen Sie die roster of FUSE filesystems, um eine Vorstellung davon zu bekommen, wofür das gut ist; Dadurch wird es hoffentlich klarer, warum FUSE unter vielen Umständen "normale alte Dateien" schlägt.
Ein VFS ist eine Anwendungsprogrammschnittstelle (API) für Dateien. Falls Sie mit dem Konzept einer API nicht vertraut sind, schlage ich vor, dass Sie sich die Wikipedia-Seite für "Virtual File System" anschauen; Es beschreibt, was ein VFS aus der Sicht eines Betriebssystemkerns ist. Ja, Ihr Betriebssystemkern (sei es Windows, Linux oder MacOS) hat ein VFS! Einige Benutzer-Space-Programme, wie GNOME, haben auch einen (es heißt GnomeVFS).
Der Zweck eines VFS ist die einheitliche Darstellung von Dateien und Verzeichnissen für Anwendungen. seien es Dateien von einer CD-ROM, von einem Linux- oder Windows-Dateisystem auf einer Festplatte oder einem USB-Stick oder einer RAM-Disk oder von einem Netzwerkserver. Dass ein Betriebssystemkernel für ein VFS verwendet wird, ist wahrscheinlich offensichtlich. Warum also auch Userspace-Objekte wie GnomeVFS?Die Antwort ist, dass Sie nicht wollen, dass sich jedes Dateisystem und sein Hund im Kernel befinden, da dieser Code mit Supervisor-Rechten läuft und jeder Fehler dazu führen kann, dass der gesamte Rechner abstürzt. Der Nachteil ist natürlich, dass VFs im Userspace nur für Anwendungen nützlich sind, die sie verwenden, zB können nur GNOME-Anwendungen durch GnomeVFS "sehen"; In einem GnomeVFS-Baum kann man "ls" nicht machen. Die Lösung ist FUSE: Der genaue Zweck und die Beschreibung besteht darin, ein User-Space-VFS in einen Kernel-One zu verwandeln. Mit anderen Worten, es überbrückt eine VFS-API in den Kernel, so dass "gefälschte" Dateien als "real" erscheinen können.