欢迎光临
我们一直在努力

写时复制技术(详解版)

我们知道了一个进程如何采用请求调页,仅调入包括第一条指令的页面,从而能够很 快开始执行。然而,通过系统调用 fork() 的进程创建最初可以通过使用类似于页面共享的技术,绕过请求调页的需要。这种技术提供了快速的进程创建,并最小化必须分配给新创建进程的新页面的数量。

回想一下,系统调用 fork() 创建了父进程的一个复制,以作为子进程。传统上,fork() 为子进程创建一个父进程地址空间的副本,复制属于父进程的页面。然而,考虑到许多子进程在创建之后立即调用系统调用 exec(),父进程地址空间的复制可能没有必要。

因此,可以采用一种称为写时复制的技术,它通过允许父进程和子进程最初共享相同的页面来工作。这些共享页面标记为写时复制,这意味着如果任何一个进程写入共享页面,那么就创建共享页面的副本。


进程1修改页面C前后
图 1 进程 1 修改页面 C 前后

赞(0) 打赏
未经允许不得转载:hosteons中文网 » 写时复制技术(详解版)

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册