首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从异构Linux系统中的共享内存创建虚拟FS

从异构Linux系统中的共享内存创建虚拟FS
EN

Stack Overflow用户
提问于 2021-01-05 16:03:30
回答 1查看 128关注 0票数 1

我正在开发一个具有两个CPU和一个共享内存的测量设备:

代码语言:javascript
复制
=>[ CPU:0 RTOS/Measurements ]         [ CPU: 1 Linux/User]
                 \                   /          |   
                  \[ Shared Memory ]/           |
                     struct HotData              /measure
                       { int x;          ->              /x
                         char[20] y;     ->              /y
                         long z; };      ->              /z

目前,我有一个共享内存,其中CPU-0测量一些数据,并周期性地更新结构"HotData“。由于实时性的限制,我不想触及CPU-0上的代码.另一方面,Linux内核可以访问这个共享空间并读取最新的数据。

接下来,我想在Linux上创建一个“超级轻量级”虚拟文件系统,将这些数据字段映射到一个文件中。因此,任何用户应用程序/脚本都可以轻松地访问“/测量/x”,并获得最新的测量结果。

  1. 将数据从共享物理地址映射到用户空间文件的最快(轻量级)方法是什么?
  2. 当然,我必须为VFS实现open/read函数,下面有一个快速示例/项目吗?
EN

回答 1

Stack Overflow用户

发布于 2021-01-05 16:20:26

您可能希望查看熔断器 (用户空间中的文件系统)。它是一个文件系统驱动程序(默认情况下随许多Linux发行版一起提供),它允许您对普通非特权应用程序/进程提供的虚拟文件系统进行mount

(想想NFS,但它是本地的,而且它并不局限于NFS协议。有一些现有的FUSE解决方案可用于安装远程SFTP服务器,甚至还有一种将Wikipedia表示为文件/目录结构的解决方案,如果我还记得.)

有很多语言的绑定和库--有一个Python中的示例,它展示了用它实现虚拟文件系统是多么容易。

听起来您可能在C/C++中工作,在这种情况下,您可能需要libfuse (官方示例代码链接)。这似乎是一个简单的介质上的C教程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65582364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档