VFS i FUSE są powiązane, ale nie do końca podobne. Głównym celem FUSE jest przekształcanie rzeczy-to-są-prawie-jak-plików-ale-niezupełnie (takich jak pliki na zdalnym serwerze lub wewnątrz pliku ZIP) w "prawdziwe" katalogi i pliki. Zobacz roster of FUSE filesystems, aby dowiedzieć się, na co to jest dobre; to miejmy nadzieję, sprawi, że będzie jasne, dlaczego FUSE bije "zwykłe stare pliki" w wielu okolicznościach.
VFS to interfejs programu użytkowego (API) do plików. Jeśli nie znasz pojęcia API, proponuję przyjrzeć się stronie Wikipedii "Virtual File System"; opisuje, czym jest VFS z punktu widzenia jądra systemu operacyjnego. Tak, twoje jądro systemu operacyjnego (np. Windows, Linux lub MacOS) ma VFS! Niektóre programy użytkownika, takie jak GNOME, również je mają (nazywa się GnomeVFS).
Celem VFS jest przedstawienie plików i katalogów aplikacjom w jednolity sposób; są to pliki z dysku CD-ROM, z systemu plików Linux lub Windows na dysku twardym lub pamięci USB lub dysku RAM lub z serwera sieciowego. To, że jądro systemu operacyjnego jest użyteczne dla VFS, jest prawdopodobnie oczywiste. Dlaczego więc mają również te obszary użytkownika, takie jak GnomeVFS?Odpowiedź brzmi: nie chcesz, aby każdy system plików i jego pies rezydowali w jądrze, ponieważ taki kod działa z uprawnieniami administratora, a każdy jego błąd może spowodować awarię całej maszyny. Oczywiście, wadą jest to, że VFSes przestrzeni użytkownika są użyteczne tylko dla aplikacji, które z nich korzystają, np. Tylko aplikacje GNOME mogą "widzieć" przez GnomeVFS; nie można zrobić "ls" w drzewie GnomeVFS. Rozwiązaniem jest FUSE: jego dokładnym celem i opisem jest przekształcenie VFS przestrzeni użytkownika w jądro. Innymi słowy, łączy API VFS z jądrem, dzięki czemu "fałszywe" pliki mogą wyglądać jak "prawdziwe".