跨平台解决方案:挂载自定义文件系统

9
我需要将我的数据作为机器文件系统的一部分。在Windows中,似乎有三个选项:Eldos的“Callback File System”(http://www.eldos.com/cbfs/),Dokan(dokan-dev.net)和Pismo File Mount(http://www.pismotechnic.com/pfm/)。这三个选项中,选项1(Eldos)看起来最好。但是,理想情况下,我希望得到一个支持Linux / Unix和Mac的解决方案。换句话说,调用的通用接口,但不同的文件系统有不同的实现。有人知道这样的解决方案吗?

请注意 - Callback File System 具有 FUSE 兼容层,可让您重用为 FUSE 和 OSXFUSE 编写的大部分 C/C++ 代码。 - Eugene Mayevski 'Callback
1个回答

9

更新:PFM已经有了Mac和Linux版本。如果可移植性是主要考虑因素,那么PFM是不需要在三个主要桌面平台上进行API转接的选择。

完全透明化,我是Pismo Technic Inc.的主要PFM开发人员。

PFM和CBFS提供的功能在Linux中作为FUSE内置,并且在Mac中作为MacFUSE免费提供。

我认为最好的方法是使用自己的移植层来将大部分代码与Linux / Mac上的FUSE细节以及Windows上的PFM或CBFS细节隔离开来。通过低级FUSE编写了Linux / Mac PFM端口后,我相信FUSE和PFM之间的差异非常容易管理。CBFS更直接地暴露了本机Windows文件系统模型,因此可能涉及更大的功能差异。

本机Windows文件系统模型与类Unix操作系统上的文件系统模型非常不同。对于大多数处理用户模式Win32或unix的开发人员来说,这种差异很难想象。尽管可以使用类似于Windows的FUSE技术,但最终可能需要进行许多特定于Windows的更改,以使其最终与在Windows上使用PFM或CBFS大致相同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接