FUSE: linux用户空间文件系统(转)
简介
架构
用户空间文件系统 是操作系统中的概念,指完全在用户态实现的文件系统。
目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs使用FUSE实现。
FUSE的工作原理如上图所示。
假设基于FUSE的用户态文件系统hello挂载在/tmp/fuse目录下。
当应用层程序要访问/tmp/fuse下的文件时,通过glibc中的函数进行系统调用,处理这些系统调用的VFS中的函数会调用FUSE在内核中的文件系统;
内核中的FUSE文件系统将用户的请求,发送给用户态文件系统hello;
用户态文件系统收到请求后,进行处理,将结果返回给内核中的FUSE文件系统;
最后,内核中的FUSE文件系统将数据返回给用户态程序。