赞
踩
FUSE(filesystem in userspace)是一个用户态文件系统框架。由内核模块(fuse.ko)、用户态库(libfuse.*)和挂载工具组成(fusermount)
fuse最重要的特性是fuse可以允许安全、非特权挂载
名词解释
- 用户态文件系统:由普通用户态进程提供数据和元数据的文件系统。该文件系统能被内核接口正常访问
- 文件系统daemon:提供文件系统数据和元数据的进程
- 文件系统连接:在文件系统daemon和内核之间的连接。该连接将会一直存在,直到daemon终止或者文件系统取消挂载。(detaching不会打破这样的连接,会知道最后一个引用被释放)
文件系统通常工作在内核态,而fuse允许文件系统在用户态实现,这使得文件系统实现更加灵活
但内核态文件系统还是有很多优点
对于挂载hello程序实现的fuse在/tmp/fuse,执行ls -l /tmp/fuse
会发生以下过程
其中内核fuse.ko用于承接vfs下来的IO请求,封装成FUSE数据包转发给用户态中libfuse进行解析转给hello程序。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。