fork() 与 vfork() 的区别
在帖子中,我们将了解系统调用 fork 和 vfork 之间的区别 −
‘fork’ 系统调用
在该系统调用中,子进程和父进程具有独立的内存空间。
子进程和父进程同时执行。
该调用使用写时复制作为替代。
在该系统调用中,子进程不能暂停父进程的执行。
一个进程的页面不会受到另一个进程的页面影响。
它使用得更为频繁。
地址空间不会浪费。
如果子进程改变了地址空间中的页面,它对于父进程将不可见。
‘vfork’ 系统调用
在该系统调用中,父进程和子进程共享同一地址空间。
子进程执行后,父进程开始执行。
该系统调用不使用写时复制技术。
在该系统调用中,子进程会使父进程的执行暂停。
一个进程的页面会受到另一个进程的页面影响。
它使用得较少。
地址空间不会浪费。
如果子进程更改了地址空间中的页面,父进程也能看到。
广告