1

我有一段 C 代码,它带有一块内存(静态数组)可以模拟文件操作(它具有类似于fopen/fclose等的 API)。因此,使用这个模仿 FileSystem 编译的任何代码都可以使用这些 API 作为 FileSystem 来满足他们的所有需求:)

但我想知道,是否有可能以某种方式将这些 API 注册到 Linux 系统/安装这个文件系统,从而使任何客户端都可以通过使用普通的 FileSystem 调用来使用这个 FS(不需要将它与 My_FileSystem 静态链接)。

在寻找解决方案时,我想到了将 my_FileSystem 作为驱动程序的想法!!!=> 是否可以将我的代码编译为设备驱动程序(在驱动程序中使用内存块)并挂载这个 File_system @ say "/mnt/MyFs",并像 USB 驱动程序一样转移 FileSystem 调用?(如果可以做到这一点,您能否解释一下它是如何完成的,或者指向我可以阅读的地方)。

我不想将这些添加为新的系统调用并重新编译内核(并使想要使用它的人的生活变得困难)。

这主要适用于运行 Linux 的嵌入式系统......但也欢迎其他建议。:)

谢谢你,

微内核:)

4

3 回答 3

6

查看 FUSE(用户空间中的文件系统),尤其是示例。它很容易...

于 2010-07-02T19:48:41.157 回答
1

看看tmpfs 和 ramfs。这些已经随 Linux 一起提供,可以做你想做的所有事情,甚至更多。我认为它们中的任何一个对于嵌入式系统来说都不会太贵。

于 2010-07-02T20:52:37.293 回答
0

我会考虑PlasticFS,但只有当一切都使用系统 C 库(即没有静态链接的二进制文件)时,它才会可靠地工作。

于 2010-07-03T19:47:49.353 回答