首页 > 试题广场 >

请你回答一下fork和vfork的区别

[问答题]
早期的fork并没有实现'写时复制',所以fork后的子进程不但会拷贝父进程的页表项还会按页复制父进程地址空间的内容,这样如果子进程直接调用exec,复制父进程就成了无用功,所以有了vfork,调用vfork产生的子进程如果子进程直接调用exec,子进程只会复制父进程内核的数据结构;而其他情况同fork一样
发表于 2019-08-05 17:10:32 回复(0)
vforkfork类似,但区别在于子进程不再拥有虚拟空间而是抢占了父进程空间,当父进程更改变量时,在分配给紫禁城相应的虚拟空间
子进程优先级高于父进程,子进程修改变量会直接修改父进程的变量(调用
execexit之前)
发表于 2019-04-18 11:50:35 回复(0)