FUSE- linux用户空间文件系统(转)

FUSE: linux用户空间文件系统(转)

简介

架构

用户空间文件系统 是操作系统中的概念,指完全在用户态实现的文件系统。

目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs使用FUSE实现。

FUSE的工作原理如上图所示。

假设基于FUSE的用户态文件系统hello挂载在/tmp/fuse目录下。

  1. 当应用层程序要访问/tmp/fuse下的文件时,通过glibc中的函数进行系统调用,处理这些系统调用的VFS中的函数会调用FUSE在内核中的文件系统;

  2. 内核中的FUSE文件系统将用户的请求,发送给用户态文件系统hello;

  3. 用户态文件系统收到请求后,进行处理,将结果返回给内核中的FUSE文件系统;

  4. 最后,内核中的FUSE文件系统将数据返回给用户态程序。

updatedupdated2024-05-152024-05-15