FUSE

用户空间文件系统（Filesystem in Userspace，簡稱FUSE）是一个面向类Unix计算机操作系统的软件接口，它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如ZFS、GlusterFS和lustre使用FUSE实现。

Linux用于支持用户空间文件系统的内核模块名叫FUSE，FUSE一词有时特指Linux下的用户空间文件系统。

文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试，效率较低。

Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。

在用户空间实现文件系统能够大幅提高效率，简化了为操作系统提供新的文件系统的工作量，特别适用于各种虚拟文件系统和网络文件系统。上述ZFS和GlusterFS都属于网络文件系统。但是，在用户态实现文件系统必然会引入额外的内核态/用户态切换带来的开销，对性能会产生一定影响。

FUSE可用于Linux、FreeBSD、OpenBSD、NetBSD（作为puffs）、OpenSolaris、Minix 3、Android和macOS。

 比较知名的用户空间文件系统 

 ExpanDrive：商业文件系统，实现了SFTP/FTP/FTPS协议；
 GlusterFS：用于集群的分布式文件系统，可以扩展到PB级；
 SSHFS：通过SSH协议访问远程文件系统；
 GmailFS：通过文件系统方式访问GMail；
 EncFS：加密的虚拟文件系统
 NTFS-3G和Captive NTFS，在非Windows中对NTFS文件系统提供支持；
 WikipediaFS：支持通过文件系统接口访问Wikipedia上的文章；
 升阳公司的Lustre：和GlusterFS类似但更早的一个集群文件系统
 ZFS：Lustre的Linux版；
 archivemount：
 HDFS: Hadoop提供的分布式文件系统。HDFS可以通过一系列命令访问，并不一定经过Linux FUSE；

参考资料

 外部链接 
 FUSE Home Page
 Develop your own filesystem with FUSE by Sumit Singh
 List of FUSE filesystems
 Fuse for FreeBSD
 Fuse for Windows

Category:用C編程的自由軟體
Category:特殊目的自由文件系统
Category:Linux内核功能
Category:Unix文件系统相关软件
Category:用户空间文件系统