缺少copy-on-write系统调用

时间:2017-02-28 10:36:45

标签: c linux copy-on-write

Despite continued interest仍无法在Linux上创建内存区域的“牛副本”。随着memfd_create(2)系统调用的开始,情况略有改善,因为不必为共享内存创建显式文件。

我想知道,为什么不存在以下这样的事情?

void *ptr = mmap((void *)0, size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, (size_t)0);
void *ptr2= mremap(ptr, 0, size, MREMAP_MAYMOVE | MREMAP_COW);

预期的语义是ptr2ptr共享底层内存,但是来自其中一个的写入将触发具有页面粒度的写时复制。

这只是“没有人愿意实施这个”的案例,还是我遗漏了一些技术问题?

0 个答案:

没有答案