Risposte:
Non sono positivo se intendi veri filesystem su disco o qualsiasi filesystem. Non ho mai visto un normale filesystem usare FUSE, anche se suppongo sia possibile; il principale vantaggio di FUSE è che ti consente di presentare qualcosa alle applicazioni (o all'utente) che assomiglia a un filesystem, ma chiama semplicemente funzioni all'interno dell'applicazione quando l'utente cerca di fare cose come elencare i file in una directory o creare un nuovo file. Plan9 è ben noto per aver cercato di rendere tutto accessibile attraverso il filesystem e lo /proc
pseudo-filesystem proviene da essi; FUSE è un modo per le applicazioni di seguire facilmente quel modello
Ad esempio, ecco uno screenshot di un file system FUSE (molto preciso) che consente di accedere ai dati del sito SE:
Naturalmente nessuno di questi file esiste realmente; quando è stato ls
chiesto l'elenco dei file nella directory FUSE ha chiamato una funzione nel mio programma che ha fatto una richiesta API a questo sito per caricare informazioni sull'utente 73 (me); cat
cercando di leggere display_name
e website_url
chiamare più funzioni che hanno restituito i dati memorizzati nella cache, senza nulla effettivamente esistente sul disco
I filesystem Unix sono tradizionalmente implementati nel kernel. FUSE consente ai filesystem di essere implementati da un programma utente.
I filesystem nel kernel sono più adatti ai filesystem principali per programmi e dati:
I filesystem FUSE presentano altri vantaggi, principalmente basati sulla loro flessibilità:
FUSE non è in realtà un file system in sé, ma un codice che consente di implementare i file system come processi anziché moduli del kernel.
Uno dei vantaggi più utili di FUSE è consentire al codice GPL di "mescolarsi" con uno non GPL. Ad esempio, Gnu / Linux e ZFS http://zfs-fuse.net/ o NTFS-3G su molti sistemi operativi come OpenSolaris e * BSD http://www.tuxera.com/community/ntfs-3g-download/
Lo svantaggio principale è l'impatto sulle prestazioni rispetto ai driver nativi (kernel).