FUSE 计算机 - 用户空间文件系统
使用 FUSE 您可以开发功能完备的文件系统:其具有简单的API 库,可以被非特权用户访问,并可以安全的实施。更重要的是,FUSE 以往的表现充分证明了其稳定性。
LUFS是一个混合
用户空间的文件系统框架,它对用于任何应用程序无数的文件系统提供透明支持。大部分LUFS包括一个
内核模块和一个
用户空间的
守护进程。从根本上来说,它将大部分VFS 调用都委托给一个专用的
守护进程来处理。 UserFS 让用户进程可以像普通的文件系统一样进行加载。这种概念性的原型提供了 ftpfs,这可以使用文件系统接口提供匿名 FTP 访问。Ufo Project 是为 Solaris 提供的一个全局文件系统,它允许用户将远程文件真正当作本地文件一样对待。
OpenAFS 是 Andrew FileSystem 的一个开源版本。 CIFS 是 Common Internet FileSystem 的简称。
与这些商业实现和学术实现不同,FUSE 将这种文件系统的设计能力带到了Linux 中来。由于FUSE 使用的是可执行程序(而不像 LUFS 一样使用的是共享对象),因此可以简化程序的调试和开发。FUSE 可以在 2.4.x 和 2.6.x 的
内核上使用,现在可以支持 Java™ 绑定,因此您可以不必限定于使用C 和 C++ 来编写文件系统了。(有关更多使用 FUSE 的
用户层的文件系统的内容。)
要在 FUSE 中创建一个文件系统,您需要安装一个 FUSE
内核模块,然后使用 FUSE 库和 API 来创建自己的文件系统。
文件系统
用户空间文件系统(
Filesystem in
Userspace,简称
FUSE)是
操作系统中的概念,指完全在用户态实现的文件系统。目前
Linux通过内核模块对此进行支持。一些文件系统如
ZFS,glusterfs和
luster使用FUSE实现。
Linux从2.6.14版本开始通过FUSE模块支持在
用户空间实现文件系统。
在
用户空间实现文件系统能够大幅提高生产率,简化了为
操作系统提供新的文件系统的工作量,特别适用于各种
虚拟文件系统和
网络文件系统。上述
ZFS和glusterfs都属于
网络文件系统。但是,在用户态实现文件系统必然会引入额外的
内核态/用户态切换带来的开销,对性能会产生一定影响。
Linux中,FUSE的运行机制
语法标注解释fuse英音:[fju:z]美音:[fjuz]