系统调用的历史是否已添加到Linux?

R..*_*R.. 27 c linux assembly system-calls

有什么地方我可以获得每个系统调用所需的最低Linux版本的完整列表吗?我正在寻找表格问题的一般答案"如果我使用系统调用X,我的代码可以运行的Linux的最低版本是什么?"

mar*_*k4o 30

此信息可在syscalls(2)手册页中找到.对于那些没有指示内核版本的系统调用,系统调用出现在内核1.0或更早版本中.

  • 到目前为止,这看起来是最好的答案.我不知道我是如何错过这一点的. (3认同)

caf*_*caf 9

Linus长期以来一直批评用户空间检查特定内核版本以了解某个功能是否可用 - 建议的方法是测试您想要的功能(未实现的系统调用确实返回ENOSYS).

其中一个原因是版本号的含义并不像它们看起来那么多 - 大多数用户实际运行的分发器内核通常具有从较新的内核版本向后移植的功能.在这方面,他们中的一些人是真正的弗兰肯斯坦的怪物.

  • 我要问的原因不是检查一个功能是否在运行时可用,而是要估计我是否通过依赖某些系统调用来锁定自己的支持版本. (7认同)