【发布时间】:2011-09-26 20:22:26
【问题描述】:
我对@987654321@ 的功能感到困惑。我读到在vfork() 的情况下,父进程和子进程用于在它们之间共享页面。它不支持任何写时复制功能。这意味着,如果子进程在其时间片期间进行了一些更改,则所有这些更改将在父进程返回时对父进程可见。还提到,vfork() 系统调用仅在子进程创建后才执行exec 系统调用时才有用。
假设子进程使用ls 执行exec 系统调用。现在,根据exec 调用,ls 程序将被加载到子进程的地址空间。现在,当父进程的时间片启动时,它可能会在其 PC 上执行不同的指令,这可能会导致该进程的行为有所不同。
有人可以向我解释一下这种情况吗,vfork() 电话在这种情况下有何帮助?
【问题讨论】:
-
不完全;请注意,这个问题的答案都在更高的层次上,而这个问题需要一个较低层次的观点。
-
@Learner:我在你的问题中用时间片替换了时间戳——希望这就是你的意思。如果没有,请随时再次编辑。
标签: operating-system system-calls