【问题标题】:Why does OS need Fork()?为什么操作系统需要 Fork()?
【发布时间】:2016-10-03 09:22:26
【问题描述】:

我正在自学操作系统的介绍,我有以下两个问题:

(1) 既然Fork()系统调用是为了多任务而复制当前进程,我想看一个例子,显示没有分叉,我们不会有这样的多任务?换句话说,我想看一个例子(或外部链接)来说明 Fork() 的重要性。

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

非常感谢

【问题讨论】:

  • fork 只是太监创建新进程的方式。大多数操作系统没有等价物(除非被模拟)。太监对待流程的方式比较奇怪。

标签: unix operating-system kernel


【解决方案1】:

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

僵尸只是死亡进程的痕迹,这有助于父母在忙碌后了解死亡的孩子。请记住,在 Unix 中,终止的进程会让其父进程知道其终止的原因。所以有必要让死掉的进程将这些信息存储在某个地方,Unix 的方式是维护一个名为zombie 的进程条目,因为该进程被简化为这个小条目,并且没有链接到其他资源。

【讨论】:

  • Windows 也没有 fork(在 POSIX/UNIX 子系统/Linux 用户空间子系统之外)。
猜你喜欢
  • 2014-11-25
  • 2019-03-02
  • 2017-01-21
  • 1970-01-01
  • 2012-02-06
  • 2014-05-12
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
相关资源
最近更新 更多