FUSE 的全称是“Filesystem in Userspace”,即“用户空间的文件系统”,这是一个内核模块,能够让用户在用户空间实现文件系统并且挂载到某个目录,就像在内核实现的文件系统一样。使用 FUSE 有几个好处:一是因为在用户空间实现,开发和调试都比较方便;二是可以把一些常用的服务以文件系统的形式展现,方便操作,如 ftpfs,sshfs,mailfs 等;另外可以避免一些版权问题,如 Linux 上对 ntfs,zfs 的操作都是通过 FUSE 实现的。当然用户空间的实现也有缺点,最明显的就是由多次在用户态/内核态切换带来的性能下降。
相关文章介绍:
http://ouonline.net/building-your-own-fs-with-fuse-1
https://blog.youkuaiyun.com/s1234567_89/article/details/50736766
https://blog.youkuaiyun.com/skdkjzz/article/details/42299751
github:
https://github.com/libfuse/libfuse