有没有办法打开文件并防止刷新硬件更新,除非我命令它这样做?

有没有办法打开文件并防止刷新硬件更新,除非我命令它这样做?

我知道内核函数open()以及它们mmap()msync()作用。但无论我尝试使用哪种标志组合,内核要么仍然使用自己的一些时间间隔刷新更新,要么根本不会刷新(如果我将其映射为MAP_PRIVATE)。我希望我错了。有没有办法完全控制何时发生冲水和不发生冲水?我想映射一个文件,进行一些更改,然后仅有的当我决定冲洗它时而不是更早!是否可以?

答案1

这是我回答我自己的问题的想法。我可以使用mmapusing标志映射文件MAP_PRIVATE,然后仅当我想将其写入硬盘时,MAP_SHARED使用 再次映射它并复制内容memcpy吗?您认为这在效率方面如何?

相关内容