當(dāng)前位置:
首頁(yè) >
fork()调用使子进程先于父进程被调度
發(fā)布時(shí)間:2025/3/15
23
豆豆
生活随笔
收集整理的這篇文章主要介紹了
fork()调用使子进程先于父进程被调度
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
由于內(nèi)核使用寫時(shí)復(fù)制機(jī)制,fork之后父子進(jìn)程是共享頁(yè)表描述符的,如果讓父進(jìn)程先執(zhí)行,那么有很大幾率父進(jìn)程會(huì)修改共享頁(yè)表指向的數(shù)據(jù),那么內(nèi)核此時(shí)必須給父進(jìn)程分配并復(fù)制新的頁(yè)表供父進(jìn)程修改使用,那么如果子進(jìn)程被創(chuàng)建之后什么都沒干后退出了,那么這個(gè)寫時(shí)復(fù)制就是多余的。
如果讓子進(jìn)程先執(zhí)行,如果子進(jìn)程什么都沒做就退出了,那么就沒有什么所謂的寫時(shí)復(fù)制了,避免了不必要的頁(yè)面復(fù)制。
另外如果子進(jìn)程確實(shí)運(yùn)行了新的程序(我們的shell程序基本上是如此),那誰先誰后就無所謂了。
轉(zhuǎn)載于:https://www.cnblogs.com/wendellyi/p/3236260.html
總結(jié)
以上是生活随笔為你收集整理的fork()调用使子进程先于父进程被调度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 织梦直接往数据库写入数据
- 下一篇: TFS架构