我有一个固定大小的文件。该文件已被 ftruncate()'ed 为 size = N * getpagesize()。该文件具有固定大小的记录。我有一个编写器进程,它通过 mmap(...MAP_SHARED...) 映射整个文件并随机修改记录(像数组一样访问)。我有一个读取器进程,它也执行 mmap(...MAP_SHARED...)。现在读取器进程需要确定由于写入器进程写入随机记录而在其映射中更改了哪个页面。有没有办法在用户空间中做到这一点?我在 Linux - x86_64 上。欢迎使用特定于平台的代码/黑客。感谢您的时间。
编辑:我无权修改编写器进程的代码以某种方式给我修改记录的指示。