Linux ABI

概述

参考:

Document/ABI 目录下的这部分文档旨在记录 Linux 内核和用户空间之间的 ABI(应用二进制接口),以及这些接口的相对稳定性。由于 Linux 本身不断变化,且各个接口的成熟度也各不相同,用户空间程序应该以不同的方式使用这些接口。

有四个不同的 ABI 稳定性级别,分别对应此位置的四个不同子目录。接口的稳定性级别可能会根据下述规则而改变。

稳定性的不同等级包括:

  • stable/ # 本目录记录了开发者定义的稳定接口。用户空间程序可以不受限制地使用这些接口,并且至少保证两年的向后兼容性。大多数接口(例如系统调用)预计不会更改,并将始终可用。
  • testing/ # 此目录记录了被认为较为稳定的接口,因为这些接口的主要开发工作已经完成。虽然可以对这些接口进行修改以添加新功能,但除非发现严重错误或安全问题,否则不会破坏现有接口。用户空间程序可以开始依赖这些接口,但必须注意这些接口在被标记为稳定之前可能发生的变更。强烈建议使用这些接口的程序将自身名称添加到这些接口的描述中,以便内核开发人员能够在发生任何变更时轻松通知他们(有关如何操作的详细信息,请参阅下文的文件布局说明)。
  • obsolete/ # 此目录记录了内核中仍然存在但已被标记为将在稍后移除的接口。接口描述将说明其过时的原因以及预计的移除时间。
  • removed/ # 该目录包含已从内核中移除的旧接口列表。