用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs和luster使用FUSE实现。

Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。

文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试,生产率较低。

Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。

在用户空间实现文件系统能够大幅提高生产率,简化了为操作系统提供新的文件系统的工作量,特别适用于各种虚拟文件系统和网络文件系统。上述ZFS和 glusterfs都属于网络文件系统。但是,在用户态实现文件系统必然会引入额外的内核态/用户态切换带来的开销,对性能会产生一定影响。

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

比较知名的用户空间文件系统:

ExpanDrive: 商业文件系统,实现了SFTP/FTP/FTPS协议;
GlusterFS: 用于集群的分布式文件系统,可以扩展到PB级;
SSHFS: 通过SSH协议访问远程文件系统;
GmailFS: 通过文件系统方式访问GMail;
EncFS: 加密的虚拟文件系统
NTFS-3G和Captive NTFS, 在非Windows中对NTFS文件系统提供支持;
WikipediaFS : 支持通过文件系统接口访问Wikipedia上的文章;
升阳公司的Lustre: 和GlusterFS类似但更早的一个集群文件系统
ZFS: Luster的Linux版;
archivemount:
HDFS: Hadoop提供的分布式文件系统。HDFS可以通过一系列命令访问,并不一定经过Linux FUSE;

linux 用户空间文件系统 filesystem in userspace fuse 简介相关推荐

  1. FUSE——用户空间文件系统

    用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统. 目前Linux通过内核模块对此进行支持.一些文件系统如ZFS,glu ...

  2. FUSE—用户空间文件系统

    用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统.目前Linux通过内核模块对此进行支持.一些文件系统如ZFS,glus ...

  3. 用户空间文件系统(FUSE)

    女主宣言 今天小编为大家分享用户空间文件系统FUSE,文章从FUSE的架构,分析了各个部分的原理,并结合小编自身的使用,对FUSE进行了建议性的优化,希望能对大家有所帮助. PS:丰富的一线技术.多元 ...

  4. linux服务器filesystem,Linux Filesystem in Userspace(FUSE)

    1. FUSE(Filesystem in Userspace)简介 1.1. 概述 FUSE(用户空间文件系统)作为类UNIX系统平台上可加载的内核模块,允许非特权用户创建功能完备的文件系统,而不需 ...

  5. Linux用户空间将虚拟地址转化为物理地址

    目录 引言 地址绑定 MMU(内存管理单元) 基本硬件 进程如何从磁盘映射到内存 磁盘和内存的映射过程 MMU方案 开始编码 创建我们的缓冲区 /proc/[pid]/pagemap 写 /dev/m ...

  6. Linux 用户空间和内核空间指的是什么?

    Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间.两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数 ...

  7. linux 内核将两个设备相关联,linux用户空间和内核空间交换数据

    转载地址:http://www.poluoluo.com/server/201107/138420.html 在研究dahdi驱动的时候,见到了一些get_user,put_user的函数,不知道其来 ...

  8. linux 用户空间 和 内核空间 延时函数

    用户空间: 1.unsigned int sleep(unsigned int seconds);   sleep()会使当前程序休眠seconds秒.如果sleep()没睡饱,它将会返回还需要补眠的 ...

  9. linux用户空间和内核exit的语义--linux没有线程

    如果你在程序中调用了exit,那么很显然你的程序会退出,可是至于为何会退出那就是库的事情了,我为什么说只是库的事情而不关linux内核的事情呢?那是因为linux内核根本不管用户空间的行为策略.库的策 ...

最新文章

  1. 详解Python中的循环的几个类型
  2. CodedStereo:大尺度景深双目视觉的相位掩模学习(CVPR2021)
  3. mysql节假日表_节假日常见的数据库磁盘空间处理小结
  4. MyBatis框架学习 DAY_03:如何解决无法封装问题 / 一对一关联查询 / 一对多关联查询
  5. 用VIM打造C语言编写器
  6. WebZip 7.0.3.1030整个网站下载工具(特别版)
  7. 深入理解分布式技术 - 消息队列使用场景
  8. 应对恶劣网络环境,为php-curl设置超时限制,防止服务器卡死
  9. 从“负电价”说起:谈谈德国新能源消纳的借鉴意义
  10. Java编程提高性能的26个方法
  11. React Native新手引导
  12. java 大型互联网架构_分享一些大型互联网架构常用的高端技术
  13. IntelliJ Idea学习笔记004--- idea修改格式化代码快捷键_顺带一个激活地址_以及常用快捷键
  14. Django auth认证
  15. 使用Java根据约定格式生成Oracle建表语句
  16. 宽度学习系统:一种不需要深度结构的高效增量学习系统
  17. masm32汇编基础
  18. 线性回归统计指标 SSE、MSE、RMSE、MAE、R-square
  19. MAC OS ssh key永久保存
  20. MAC UltraEdit18.00.0.40 绿色版,亲测有效

热门文章

  1. js里面把密码encode_Python进阶最详细的JS加密登录X博
  2. Docker 容器技术 — Image
  3. 架构师之路 — 分布式系统 — CAP 定理
  4. C 语言编程 — 大小端区分
  5. centos7 ambari2.6.1.5+hdp2.6.4.0 大数据集群安装部署
  6. 【mybatis】mybatis中 的# 和 $的区别
  7. activiti实战系列 并行网关(parallelGateWay)
  8. IOS 学习笔记 2015-03-20 O之 nil,Nil,NULL,NSNull
  9. 找出数组中最长的连续数字序列(JavaScript实现)
  10. 混合云如何落地?光环有云携手AWS一触即发