fork和vfork分析:
在fork还没有实现copy on write之前,Unix设计者很关心fork之后立即执行exec所造成的地址空间浪费,也就是拷贝进程地址空间时的效率问题,所以引入vfork系统调用。
vfork有个限制,子进程必须立刻执行_exit或者exec函数。
即使fork实现了copy on write,效率也没有vfork高,但是现在已经不推荐使用vfork了,因为几乎每一个vfork的实现,都或多或少存在一定的问题。
fork:子进程拷贝父进程的数据段;vfork:子进程与父进程共享数据段。
fork:父子进程的执行顺序不确定;vfork:子进程先运行,父进程后运行。
原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9348170.html
时间: 2024-10-18 21:37:17