Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当使用 ltrace 跟踪具有 fork、vfork ... 的程序的系统调用时,它显示调用 SYS_Clone 系统调用。那么SYS_fork、SYS_vfork系统调用在内核中的重要性是什么。他们是出于历史目的吗?
它们必须在内核中维护,因为旧的用户空间程序(旧版本libc或旧的静态链接二进制文件)调用这些系统调用,而不是较新的clone. Linux 内核在 ABI 中保持向后兼容性。
libc
clone
如果将新架构添加到 Linux 内核中,它就不必支持那些过时的系统调用,因为该架构不可能有旧的用户空间。例如,您会发现ia64架构没有SYS_fork调用。
ia64
SYS_fork