Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量级进程...,而且由vfork()创建的子进程将先于父进程运行
clone Linux上创建线程一般使用的是pthread库 实际上linux也给我们提供了创建线程的系统调用,就是clone
fork, vfork...系统调用的实现与C库不同, 普通C函数通过将参数的值压入到进程的栈中进行参数的传递。..., 后者则依据参数的设置执行特定的真正操作
fork, vfork, clone系统调用的实现
关于do_fork和_do_fork
The commit 3033f14ab78c32687 (“clone.../fork.c中的_do_fork(一个体系结构无关的函数),
_do_fork以调用copy_process开始, 后者执行生成新的进程的实际工作, 并根据指定的标志复制父进程的数据。