我不确定我应该用谷歌搜索什么,或者 FUSE 是否这样做(我怀疑不是)。我想创建一个虚拟块设备,所有形式的访问(例如读取和写入)都直接进入我的应用程序。
我知道我可以通过执行创建一个文件作为块设备
dd if=/dev/zero of=~/test count=100k
Run Code Online (Sandbox Code Playgroud)
然后使用创建一个环回
losetup /dev/loop0 ~/test`
Run Code Online (Sandbox Code Playgroud)
但我希望直接访问我的应用程序而不是文件。我希望这个问题很清楚。
spu*_*puk -1
你不是在找吗mmap()
?
但是,我不确定如果mmap
没有实际文件支持它,您会怎么做,但是您可能有一个任意大的、归零的文件(请参阅falocate
、truncate
)并且mmap()
带有 flag MAP_PRIVATE
,因此对它的写入仅对您的应用程序可见,并且不保存到磁盘。