《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》——第3章 进程1的创建及执行 3.1 进程1的创建
第3章 进程1的创建及执行
现在,计算机中已经有了一个名副其实的、3特权级的进程——进程0。下面我们要详细讲解进程0做的第一项工作——创建进程1。
3.1 进程1的创建
进程0现在处在3特权级状态,即进程状态。正式开始运行要做的第一件事就是作为父进程调用fork函数创建第一个子进程——进程1,这是父子进程创建机制的第一次实际运用。以后,所有进程都是基于父子进程创建机制由父进程创建出来的。
3.1.1 进程0创建进程1
在Linux操作系统中创建新进程的时候,都是由父进程调用fork函数来实现的。该过程如图3-1所示。
执行代码如下:
//代码路径:init/main.c:
…
static inline _syscall0(int,fork) // 对应fork()函数
static inline _syscall0(int