XV6 Fork():为什么父级先运行?

问题描述 投票:0回答:1

在fork()被调用之后,为什么在大多数情况下父进程在子进程之前运行?在哪种情况下,子进程将在fork()之后在父进程之前运行?

请向我解释。

fork parent-child scheduling xv6
1个回答
0
投票

父进程的fork调用与其他任何系统调用一样,在完成后会返回到应用程序代码,由于抢占,该进程将停止运行并被另一个进程(可能是子进程)切换XV6(以及许多其他OS)使用的调度性质。如果父进程的进程将在开始fork系统调用的处理之后,返回返回应用程序代码的处理开始之前的时间分片时段结束,则子进程将在父进程之前运行(请参见该行导致该进程在陷阱功能的结尾)。

© www.soinside.com 2019 - 2024. All rights reserved.