gpt4 book ai didi

linux - Linux 中的持久存储值处理

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:08 24 4
gpt4 key购买 nike

我的嵌入式板上有一个 QSPI 闪存。我有一个驱动程序 + 进程“Q”来处理读取和写入。我想存储变量,如 SW 版本、IP、操作时间等。

我想就如何处理从用户空间和其他进程写入和读取值的不同访问权限征求建议。

我想为每个变量创建一个文件。然后我可以为这些文件分配访问权限,如果值已更改,进程 Q 可以更改文件中的值。因此进程 Q 只能写入,而其他进程或用户只能读取。

但是我对写作一窍不通。我正在考虑使用消息队列或 zeroMQ 并围绕它构建软件,但我不确定它是否过大。但我不确定如何管理访问权限。

什么是最好的方法?如果您能提出完全不同的方法,我将不胜感激。谢谢!

最佳答案

由于“请建议 X”性质,此问题可能会被否决/标记。

就是说,如果每个变量一个文件是你所追求的,你可能想看看实现一个 FUSE 文件系统,它包装你的 SPI 驱动程序/实用程序“Q”(或者如果你得到,将它构建到“Q”中编译/控制源到“Q”)。我这样做是为了将设置存储在当前工作项目的 EEPROM 中,结果很好。因此,例如,我有一个文件,当读取该文件时,它会从 EEPROM(或缓存的副本)中检索 6 个字节,并以标准十六进制/冒号分隔的表示法提供 MAC 地址。

这里最大的优势是,从 shell 脚本(例如您的 init 进程)或其他脚本语言访问所有配置/设置数据变得微不足道。

这样做的另一个好处是,您可以使用 inotify(“免费”,fusef 中没有额外代码)创建可以有效检测设置更改时间的应用程序。

这种方法的一个缺点是,在多个设置上执行原子事务并仍然保持正常的文件语义是非常重要的。

关于linux - Linux 中的持久存储值处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32453593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com