POSIX 共享内存对象有哪些一致性保证?
在 Linux 上,POSIX 共享内存对象 [1] 使用tmpfsvia /dev/shm。反过来, Atmpfs被称为“完全存在于页面缓存中”[2](我假设交换尚未启用)。我想知道使用 POSIX SHM 对象mmap(编入程序地址空间)时的一致性/不撕裂保证是什么。 示例:假设两个进程 A 和 B 共享一个 POSIX SHM 对象,这两个进程都mmap被写入各自的地址空间。该对象的大小为 8kB 或两个页面,假设页面为 4kB 并且对象是页面对齐的。 A 发出两次连续的 [3] 写入,第一次写入第一页(第一个 4k 块),第二次写入第二页。 B 轮...