[问题] 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