在fork期间,进程从其父级获取其页表,其中条目标记为只读(与父级共享)。然后,如果子进程尝试写入该内存,则会创建新页面并标记为wtire。我的问题是,如果父进程想要在该页面上发挥作用,它是否会创建新页面?如果是,则在物理内存中将有3个页面(具有写入权限的子页面+具有写入权限的父页面+一个共享页面)?
请解释任何人
答案 0 :(得分:1)
澄清一下,过程'页面表和流程'页面框架。每个"点"中的页表。到同一帧。所以...
实际上,内核会捕获父进程或子进程尝试修改其中一个页面。如果这样做,内核会复制要修改的页面。之后,他们各自修改他们的私人副本,而没有其他人看到它;现在有两个框架。所以不行;不会有三页。