[問題] vfork() + exec() 相關疑問

作者: kyuudonut (善良老百姓)   2016-10-03 11:53:12
小弟弱弱想請教一下眾大神們幾個問題
1. exec() 就我的理解是直接切換到另外一個 memory space,所以這邊會進行一個完整的可執行檔的載入嗎? 這邊會利用原本的 frame 還是配置新的 frame 呢?若 os 配置新的 frame 進行載入,原本舊的 frame 該如何處理?
2. vfork() 是 parent 與 child 共用一 memory space,但 vfork() + exec() 的運用不就也會影響到 parent 原本的執行嗎,畢竟他們還是 share 一樣的 frame?
3. 小弟假設 exec() 會另外分配 frame 給載入欲執行的檔案,然後 vfork() 完的 child process 便可利用更新過的 page table 執行新的程式。不知道這樣對不對?
希望能給一點指正或關鍵字 謝謝
另外手機排版 可能有點醜 請見諒 QQ
作者: steve1012 (steve)   2016-10-03 12:45:00
vfork通常是接著exec 一起用exec會蓋掉原本的memory space 要是我認知正確的話原本是因為常常用fork+exec 重新配置很浪費記憶體 所以就有vfork的誕生 但現在fork 也很efficeint了

Links booklink

Contact Us: admin [ a t ] ucptt.com