一.进程创建
1)写时拷贝:
传统的fork()系统调用直接把所有的资源复制给新创建的进程,这种实现过于简单并且效率低下。所谓写时拷贝就是指数据只有在真正写入或者修改的时候才会被复制,其他时候都只是共享同一份数据
2)fork()
fork()运用了写时拷贝技术。fork()的实际开销就是复制父进程的进程描述符和父进程的内存描述符(内存描述符就代表了进程的地址空间),也就是子进程复制了父进程的虚拟内存空间,共享了父进程的物理内存空间。只有在数据被写入或者修改的时候,才会真正为子进程分配物理内存空间。
3)vfork()
vfork()和fork()的区别:
(1):vfork不复制父进程的内存描述符,也就是说,vfork()的子进程共享父进程的虚拟内存空间和物理内存空间。
(2):