fork() 和 vfork() 的区别
在这篇文章中,我们将了解系统调用fork和vfork之间的区别-
'fork'系统调用
在这个系统调用中,子进程和父进程有独立的内存空间。
子进程和父进程同时执行。
此调用使用写时复制作为替代。
子进程无法在此系统调用中暂停父进程的执行。
一个进程的页面不会受到其他进程页面的影响。
它的使用频率更高。
没有地址空间被浪费。
如果子进程改变了地址空间中的页面,它对父进程是不可见的。
“vfork”系统调用
在这个系统调用中,父进程和子进程共享同一个地址空间。
一旦子进程被执行,父进程就开始执行。
此系统调用不使用写时复制技术。
子进程在这个系统调用中挂起父进程的执行。
一个进程的页面会受到另一个进程页面的影响。
它的使用频率较低。
没有地址空间被浪费。
如果子进程改变了地址空间中的页面,它可以被父进程看到。