FUSE
此條目需要补充更多来源。 (2017年3月2日) |
当前版本 |
|
---|---|
源代码库 | |
编程语言 | C |
操作系统 | 类Unix |
类型 | 文件系统软件驱动程序 |
许可协议 | 内核部分为GPL,Libfuse为LGPL,FreeBSD上为Simplified BSD,OpenBSD上为ISC license, macOS上为专有 |
网站 | github |
用户空间文件系统(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。[2]
比较知名的用户空间文件系统
- 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;
参考资料
- ^ Release 3.16.2. 2023年10月10日 [2023年10月19日].
- ^ Home - FUSE for OS X. [2017-03-02]. (原始内容存档于2017-01-15).
外部链接
- (英文)FUSE Home Page(页面存档备份,存于互联网档案馆)
- (英文)Develop your own filesystem with FUSE(页面存档备份,存于互联网档案馆) by Sumit Singh
- (英文)List of FUSE filesystems
- (英文)Fuse for FreeBSD
- (英文)Fuse for Windows