【问题标题】:What does the process control block of a child process look like after a fork?子进程的进程控制块在分叉后是什么样子的?
【发布时间】:2014-02-11 13:43:11
【问题描述】:

我的理解是,当父母分叉时,孩子成为父母的精确副本。换句话说,它们具有相同的过程控制块 (PCB)。这是完全正确的吗?我知道pid 显然会有所不同,但是是这样吗?

【问题讨论】:

    标签: process fork


    【解决方案1】:

    每个进程都有自己的进程控制块。当父分叉时,子进程控制块通常会作为父进程的副本开始,但是它会发生变化(例如第一个是 PID),并且随着子进程做自己的事情,子进程控制块将变得更少父的副本。

    这里有一些slides that describes an abstract operating system process control and the process control block

    实际细节会因特定操作系统而异。

    【讨论】:

    • 那么,在创建之后,孩子拥有内存、寄存器、打开文件等的精确副本?
    • @MaxMackie,也许你应该多解释一下你为什么问这个问题。如果是想理解这些概念,那么它是否准确并不重要。我的期望是打开文件的内存和文件控制块将是相同的,但寄存器不会相同,并且在复制进程控制块后几乎立即会有其他部分开始变化,因为子进程将开始做其他事情。
    猜你喜欢
    • 1970-01-01
    • 2015-12-12
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    相关资源
    最近更新 更多