标签: linux memory copy-on-write
所以,我想知道 - 我将如何在内核中实现复制内存页面(struct page)并利用 copy-on-write 机制而不是立即传输数据。
struct page
现在,我通过将用户地址转换为页面来复制页面,使用allocate_pages从内核分配所需的页面数量,使用copy_pages复制它们,然后最终使用install_special_mapping将它们映射到所需的区域{{1}}。这有效,但我觉得这可以使用写时复制机制进行优化。
allocate_pages
copy_pages
install_special_mapping