我正在处理一个问题,其中某个文件必须放在 tmpfs 而不是常规文件系统(例如 ext4、xfs 等)上。要求的背景是该文件将用于共享内存映射将对其进行 DMA,而常规 Linux 文件系统不支持 这种情况,导致数据损坏甚至内核崩溃。
该软件将部署在各种 Linux x86_64 配置上,可能是多个发行版。我没有要求用户创建并提供专用的 tmpfs 挂载点(他们需要记住的另一个配置步骤),而是考虑将上述文件放在
/dev/shm
上,这已经是一个 tmpfs
用于实现 POSIX 共享内存.
我怀疑这个挂载点的存在和属性可能是一个实现细节,而不是 GNU/Linux 遵守的任何标准的要求。
换句话说,可能存在没有
/dev/shm
但仍被认为合规的发行版。如果那是真的,那么我将无法假设/要求/dev/shm
存在。
这里是什么情况? POSIX、SUS 或任何其他标准的任何部分是否说明了该主题?