参考:《Linux内核设计与实现》
Linux 的fork()使用写时拷贝页来实现!
写时拷贝:是一种推迟或者免除拷贝的技术。
内核fork()时并不复制整个进程地址空间,而是让父子进程共享一个地址空间---》只有在需要写入时,数据才会被复制,从而使各个进程拥有各自的拷贝数据。
也就是说,只有在需要写入的时候才复制资源,在此之前,以只读方式共享。
比如:父进程fork()后,子进程立即exit(),子进程并不需要重新拷贝父进程的内存空间了。
本文深入探讨Linux中fork()系统调用如何利用写时拷贝技术实现高效进程创建。通过延迟或免除不必要的资源复制,仅在进程尝试修改数据时才进行拷贝,从而极大提高了系统效率。
参考:《Linux内核设计与实现》
Linux 的fork()使用写时拷贝页来实现!
写时拷贝:是一种推迟或者免除拷贝的技术。
内核fork()时并不复制整个进程地址空间,而是让父子进程共享一个地址空间---》只有在需要写入时,数据才会被复制,从而使各个进程拥有各自的拷贝数据。
也就是说,只有在需要写入的时候才复制资源,在此之前,以只读方式共享。
比如:父进程fork()后,子进程立即exit(),子进程并不需要重新拷贝父进程的内存空间了。
638

被折叠的 条评论
为什么被折叠?