gpt4 book ai didi

fork - 在 fork 系统调用之后在较低级别会发生什么?

转载 作者:行者123 更新时间:2023-12-04 02:56:43 26 4
gpt4 key购买 nike

我知道 fork() 在更高级别上做什么。我想知道的是这个——

  • 一旦有 fork 调用,trap 指令就会跟随并且控制跳转以执行 fork “处理程序”。现在,这个创建子进程的处理程序如何通过创建另一个地址空间和进程控制块来复制父进程,返回 2 个值,每个进程一个?
  • 在执行的哪个点 fork 返回 2 个值?

  • 简而言之,有人可以解释 fork 调用后在较低级别发生的分步事件吗?

    最佳答案

    返回给每个进程的值是不同的。父/原始线程获取子进程的 PID,子进程获取 0。

    Linux 内核在 x86 上通过将 eax 寄存器中的值更改为 copies the current thread 来实现这一点。在父进程中。

    关于fork - 在 fork 系统调用之后在较低级别会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205224/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com