Address space

– Child duplicate of parent – Child has a program loaded into it

Untitled

在第一个情况中,描述了当一个子进程(child)被创建时,它是父进程(parent)的一个精确副本。这意味着父进程和子进程的地址空间是相同的,在内存中包含同样的程序和数据(Program A 和 Data A)。

Untitled

在第二个情况中,它说明了子进程刚开始是父进程的副本,但之后在子进程的地址空间中加载了一个不同的程序(Program B)和数据(Data C)。这表明父进程和子进程现在不同,因为它们包含不同的内存数据和程序代码。

<aside> 💫 UNIX examples

</aside>

Untitled

Untitled

Untitled

完整过程梳理:

  1. 父进程调用fork()
  2. 子进程调用exec()
  3. 父进程等待子进程
  4. 子进程完成执行
  5. 父进程接收子进程退出状态