2013-08-17 126 views
3

當ltrace與叉子,vfork的程序跟蹤系統調用......它顯示了呼叫SYS_Clone系統調用。那麼在內核中SYS_fork,SYS_vfork系統調用的重要性如何?他們是爲了歷史目的?重要性內核級系統的要求叉,vfork的

+1

'sys_clone'是老功能。在Linux 2.2中添加了「sys_fork」和「sys_vfork」。在內部,所有三個都使用'do_fork()'。 –

+1

我已經用它在Linux 3.2 – user567879

+0

http://stackoverflow.com/questions/4856255/the-difference-between-fork-vfork-exec-and-clone –

回答

3

他們在內核可以維持,因爲老用戶空間程序(無論是舊版本的libc或舊靜態鏈接二進制文件)調用這些系統調用,而不是較新的clone。 Linux內核在ABI中保持向後兼容性。

如果一個新的架構添加到Linux內核,它沒有支持這些過時的系統調用,因爲不可能有老用戶空間爲架構。所以你會發現,例如,該ia64架構沒有一個SYS_fork電話。