fork() 系统调用的过程

fork 系统调用的过程它包含两个重要的事件,一个是将 task_struct 结构复制一份并且初始化,另一个是试图唤醒新创建的子进程。

这个过程我画了一张图,你可以对照着这张图回顾进程创建的过程。

这个图的上半部分是复制 task_struct 结构,你可以对照着右面的 task_struct 结构图,看这里面的成员是如何一部分一部分的被复制的。图的下半部分是唤醒新创建的子进程,如果条件满足,就会将当前进程设置应该被调度的标识位,就等着当前进程执行 __schedule 了。

fork() 系统调用的过程

上一篇:Dubbo学习系列之八(分布式事务之MQ方案)


下一篇:☕【Java技术指南】「并发编程专题」Fork/Join框架基本使用和原理探究(原理及源码篇)