用户态文件系统fuse概念学习 OS

admin 7月前 164

1.fuse简介

   FUSE,全称为Filesystem in Userspace,中文名为用户空间文件系统。在某些操作系统中,包含了FUSE内核模块,通过FUSE内核模块,开发者可以在用户态实现文件系统。Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。

        文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试,生产率较低。Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。在用户空间实现文件系统能够大幅提高生产率,简化了为操作系统提供新的文件系统的工作量,特别适用于各种虚拟文件系统和网络文件系统。但是,在用户态实现文件系统必然会引入额外的内核态/用户态切换带来的开销,对性能会产生一定影响。

        目前Linux,FreeBSD,NetBSD,OpenSolaris和Mac OSX支持用户空间态文件系统。

 

2.用户空间文件系统架构图

备注:在上图中通过ext2/ext3和通过FUSE实现的用户态文件系统对比,可以看到ext2/ext3文件系统是在内核中支持,是内核态中文件系统。

3.常见的用户空间文件系统

ExpanDrive——商业文件系统,实现了SFTP/FTP/FTPS协议

GlusterFS——用于集群的分布式文件系统,可以扩展到PB级

SSHFS——通过SSH协议访问远程文件系统

GmailFS——通过文件系统方式访问GMail

EncFS——加密的虚拟文件系统

NTFS-3G/CaptiveNTFS——在非Windows中对NTFS文件系统提供支持

WikipediaFS——支持通过文件系统接口访问Wikipedia上的文章

Lustre——和GlusterFS类似但更早的一个集群文件系统

ZFS——Lustre的Linux版

HDFS——Hadoop提供的分布式文件系统。HDFS可以通过一系列命令访问,并不一定经过Linux FUSE

备注:

VFS部分参见《Linux下文件系统以及VFS自结》

参考资料来源于:

https://zh.wikipedia.org/wiki/FUSE

http://www.ibm.com/developerworks/cn/linux/l-fuse/


少客联盟- 版权声明 1、本主题所有言论和图片纯属会员个人意见,与少客联盟立场无关。
2、本站所有主题由该帖子作者发表,该帖子作者admin少客联盟享有帖子相关版权。
3、少客联盟管理员和版主有权不事先通知发贴者而删除本文。
4、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者admin少客联盟的同意。
5、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
6、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
7、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
8、官方反馈邮箱:chinasuc@chinasuc.cn


上一篇:linux下库的介绍与使用
下一篇:标准时间GMT|UTC以及NTP协议学习
Whatever is worth doing is worth doing well. juvenile hacker league
最新回复 (0)
    • 少客联盟
      2
        登录 注册 QQ登录(停用)
返回