Linux - 安装用户空间文件系统(模仿一个 :-) ) as a FileSystem

标签 linux linux-kernel filesystems device-driver linux-device-driver

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

但我想知道,是否有可能以某种方式将这些 API 注册到 Linux 系统/挂载此文件系统,从而使任何客户端都可以通过使用正常的文件系统调用来使用此文件系统(无需将其与 My_FileSystem 静态链接) ).

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

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

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

谢谢你,

微内核:)

最佳答案

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

关于Linux - 安装用户空间文件系统(模仿一个 :-) ) as a FileSystem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3168611/

相关文章:

linux - Logrotate清理带日期戳的文件

c - 如何对 UDP 协议(protocol)进行拥塞控制?

linux - 使用 Linux 用户凭证的 Laravel 身份验证

linux - Linux内核 'do_select'函数内部无限循环

Linux软件看门狗配置

android - File.listFiles 不应该返回 null

python - Linux:MPC当前歌曲输出

linux - 如何启动两个CPU核同时运行指令?

c - write系统调用直接把数据写到磁盘?

c++ - boost::filesystem::exists 段错误在 linux 上