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

Filesystem in Userspace
FUSE工作流程图
当前版本
  • 3.16.2(2023年10月10日;稳定版本)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言C
操作系统类Unix
类型文件系统软件驱动程序
许可协议内核部分为GPL,Libfuse为LGPL,FreeBSD上为Simplified BSD,OpenBSD上为ISC license, macOS上为专有
网站github.com/libfuse/libfuse

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

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

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

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

FUSE可用于LinuxFreeBSDOpenBSDNetBSD(作为puffs)、OpenSolarisMinix 3AndroidmacOS[2]

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

参考资料

  1. ^ Release 3.16.2. 2023年10月10日 [2023年10月19日]. 
  2. ^ Home - FUSE for OS X. [2017-03-02]. (原始内容存档于2017-01-15). 

外部链接