原帖由
frank_seng 于 2008-5-7 14:57 发表
如果此时A又创建了子进程C,则该address所在的页面又被设置为写保护,拥有进程为A和C,同时其他的页面例如PAGEX依然维持写保护,只是拥有进程为A、B和C。如果此时A访问PAGEX,则异常处理会创建一个新页面并将PAGEX中的内容复制到该页面,同时将A相应的pte指向该新页面。如果此时C也访问PAGEX,也会复制新页面并且让C对应的pte指向新页面。如果B再访问PAGEX,则由于此时PAGEX只有一个拥有进程B,故不再复制新页面,而是直接取消该页面的写保护,由于B的pte本来就直接指向该页面,所以无需再做其他工作了。