VFS и FUSE связаны, но не совсем одно и то же. Основная цель FUSE - превращать вещи, которые почти как файлы, но не совсем (например, файлы на удаленном сервере или внутри файла ZIP), в «настоящие» каталоги и файлы. Посмотрите список файловых систем FUSE , чтобы понять, для чего это нужно; надеюсь, это прояснит, почему FUSE бьет "простые старые файлы" во многих случаях.
VFS - это интерфейс прикладных программ (API) для файлов. В случае, если вы не знакомы с концепцией API, я предлагаю вам взглянуть на страницу Википедии "Виртуальная файловая система"; он описывает, что такое VFS с точки зрения ядра операционной системы. Да, ядро вашей ОС (будь то Windows, Linux или MacOS) имеет VFS! У некоторых программ пользовательского пространства, таких как GNOME, тоже есть такая (она называется GnomeVFS).
Цель VFS - представлять файлы и каталоги приложениям единообразно; будь то файлы с компакт-диска, из файловой системы Linux или Windows на жестком диске, USB-накопителе или RAM-диске, или с сетевого сервера. То, что ядро ОС использует VFS, вероятно, очевидно. Тогда почему также есть пользовательские пространства, такие как GnomeVFS? Ответ заключается в том, что вы не хотите, чтобы каждая файловая система и ее собака находились в ядре, потому что такой код работает с привилегиями супервизора, и любая ошибка в нем может привести к сбою всей машины. Конечно, недостатком является то, что VFS пользовательского пространства полезны только для приложений, которые их используют, например, только приложения GNOME могут «видеть» через GnomeVFS; нельзя делать "ls" внутри дерева GnomeVFS. Решение - FUSE: его точное назначение и описание - превратить VFS пользовательского пространства в ядро. Другими словами, он соединяет VFS API с ядром, так что «поддельные» файлы могут выглядеть как «настоящие».