为什么 OS 需要 Fork()?

Why does OS need Fork()?

我正在自学OS的介绍,有以下两个问题:

(1) 由于Fork()系统调用为了多任务处理而使用复制当前进程,我想看一个没有forking的例子,我们不会有这样的多任务处理?换句话说,我想看一个示例(或外部 link)来说明 Fork() 的重要性。

(2) Zombie 进程是否因为子进程崩溃而存在?

非常感谢

不需要forkfork只是Unix创建进程的方式。较旧的和不同的系统使用不同的东西,例如 spawn (Vax/VMS)。

僵尸只是死亡进程的痕迹,这对于 parents 在忙碌后意识到死亡 children 很有用。请记住,在 Unix 中,终止的进程让其 parents 知道其终止的原因。所以需要让死进程在某个地方存储该信息,Unix 方式是维护一个名为 zombie 的进程条目,因为该进程被缩减为这个小条目并且没有其他资源链接到。