为什么操作系统需要Fork()?

时间:2016-06-03 10:39:24

标签: unix operating-system kernel

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

(1)由于Fork()系统调用用于复制当前进程以进行多任务处理,我希望看到一个没有分叉的示例,我们不会有这样的多任务处理?换句话说,我想看一个示例(或外部链接),它显示了Fork()的重要性。

(2)由于孩子的进程崩溃,是否存在Zombie进程?

非常感谢

1 个答案:

答案 0 :(得分:1)

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

僵尸只是死亡过程的痕迹,这对于父母在忙碌之后了解死去的孩子是有用的。请记住,在Unix中,一个终止的进程让它的父母知道它终止的原因。因此需要让死亡进程在某处存储该信息,Unix方式是维护一个名为zombie的进程条目,因为该进程被缩减为这个小条目而没有其他资源链接到。