【发布时间】:2013-10-15 02:37:39
【问题描述】:
在操作系统的概念中,我们总是说在 fork() 执行中,子和父有自己的堆和堆栈副本,但它们共享内存段。我的问题是,当我们说共享内存段时,这是否意味着他们将要执行的文本或代码?
【问题讨论】:
标签: operating-system fork
在操作系统的概念中,我们总是说在 fork() 执行中,子和父有自己的堆和堆栈副本,但它们共享内存段。我的问题是,当我们说共享内存段时,这是否意味着他们将要执行的文本或代码?
【问题讨论】:
标签: operating-system fork
是的(至少在 Linux 上会发生这种情况)。根据fork 的 Linux 手册页(如果您没有任何 Linux,您可以通过在控制台中输入 man 2 fork 或输入 here 来观看):
fork() 通过复制调用进程来创建一个新进程。这 新进程,称为子进程,是 调用进程,简称父进程,以下除外 分:
- 父子进程 ID 是唯一的
- 子进程的父进程 ID 与父进程的父进程 ID 相同
- 内存锁、信号量、信号等不被继承
- ...
【讨论】: