gpt4 book ai didi

linux - 为什么系统调用号在 amd64 linux 中不同?

转载 作者:IT王子 更新时间:2023-10-29 00:27:34 25 4
gpt4 key购买 nike

我注意到 x86 int $0x80 和 amd64 syscall 系统调用有不同的编号。例如,sys_exit 在 x86 中是系统调用 1,在 amd64 中是系统调用 60。不同的系统调用编号方案是否有(历史)原因?

最佳答案

系统调用接口(interface)应该是非常稳定的,只允许添加。谈到系统调用接口(interface)对于每个架构都不同这一事实,Linux 人员很可能决定清理一些累积的垃圾并从头开始 amd64 系统调用。

引用:linux/Documentation/ABI/stable/syscalls

This interface matches much of the POSIX interface and is based on it and other Unix based interfaces. It will only be added to over time, and not have things removed from it.

Note that this interface is different for every architecture that Linux supports. Please see the architecture-specific documentation for details on the syscall numbers that are to be mapped to each syscall.

关于linux - 为什么系统调用号在 amd64 linux 中不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com