fork() 與 vfork() 的區別


在帖子中,我們將瞭解系統呼叫 fork 和 vfork 之間的區別 −

‘fork’ 系統呼叫

  • 在該系統呼叫中,子程序和父程序具有獨立的記憶體空間。

  • 子程序和父程序同時執行。

  • 該呼叫使用寫時複製作為替代。

  • 在該系統呼叫中,子程序不能暫停父程序的執行。

  • 一個程序的頁面不會受到另一個程序的頁面影響。

  • 它使用得更為頻繁。

  • 地址空間不會浪費。

  • 如果子程序改變了地址空間中的頁面,它對於父程序將不可見。

‘vfork’ 系統呼叫

  • 在該系統呼叫中,父程序和子程序共享同一地址空間。

  • 子程序執行後,父程序開始執行。

  • 該系統呼叫不使用寫時複製技術。

  • 在該系統呼叫中,子程序會使父程序的執行暫停。

  • 一個程序的頁面會受到另一個程序的頁面影響。

  • 它使用得較少。

  • 地址空間不會浪費。

  • 如果子程序更改了地址空間中的頁面,父程序也能看到。

更新於:2021-04-20

760 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.