Answers:
如果您是指真实的磁盘文件系统或任何文件系统,我不是很肯定。虽然我认为有可能,但我从未见过使用FUSE的普通文件系统。FUSE的主要好处是它使您可以向看起来像文件系统的应用程序(或用户)呈现某些内容,但是实际上当用户尝试执行诸如在目录中列出文件或创建新文件之类的操作时,它只是在应用程序中调用函数文件。Plan9以试图使所有内容都可以通过文件系统访问而闻名,而/proc
伪文件系统则来自于它们。FUSE是应用程序轻松遵循该模式的一种方式
例如,这是一个(非常不起作用的)FUSE文件系统的屏幕快照,该文件系统可以访问SE站点数据:
当然,这些文件实际上都不存在。当ls
询问目录FUSE中的文件列表时,FUSE在我的程序中调用了一个函数,该函数向该站点发出API请求以加载有关用户73(我)的信息;cat
试图读取display_name
并website_url
调用更多函数,这些函数从内存中返回缓存的数据,而磁盘上实际上没有任何东西
Unix文件系统传统上是在内核中实现的。FUSE允许文件系统由用户程序实现。
内核文件系统更适合于程序和数据的主文件系统:
FUSE文件系统还具有其他优点,主要围绕其灵活性进行:
FUSE本质上并不是真正的文件系统,而是允许文件系统实现为进程而不是内核模块的代码。
FUSE最有用的好处之一是允许GPL代码与非GPL代码“混合”。例如,在许多操作系统(如OpenSolaris和* BSD)上的Gnu / Linux和ZFS http://zfs-fuse.net/或NTFS-3G,http://www.tuxera.com/community/ntfs-3g-download/
与本地(内核)驱动程序相比,主要缺点是对性能的影响。