重要性:fork、vfork的内核级系统调用

3
当使用ltrace跟踪具有fork、vfork的程序系统调用时,它显示调用SYS_Clone系统调用。那么,在内核中,SYS_fork、SYS_vfork系统调用的重要性是什么?它们只是出于历史目的吗?

1
sys_clone是旧的函数。sys_forksys_vfork在Linux 2.2中被添加。内部所有三个函数都使用do_fork() - Roland Jansen
1
我已经在Linux 3.2上使用过它。 - user567879
https://dev59.com/L2445IYBdhLWcg3wcZ8N - Roland Jansen
1个回答

4
由于旧的用户空间程序(无论是旧版本的libc还是旧的静态链接二进制文件)调用这些系统调用而不是较新的clone,因此它们必须在内核中维护。Linux内核在ABI中保持向后兼容性。
如果向Linux内核添加了新的架构,则无需支持那些过时的系统调用,因为该架构没有旧的用户空间。因此,例如,ia64架构没有SYS_fork调用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接