答案1
应用程序和操作系统之间的接口是 API。ABI 定义如何,在任何两个软件之间。API 定义什么。
答案2
几乎:
从技术上讲,设备驱动程序为接口(只是一个 API,见下文或功能规范)实现或提供预期功能,该接口是 I/O 和电源管理功能。设备驱动程序是一个“层”。
应用程序二进制接口 (ABI) 指的是函数和系统调用在汇编器级别上的工作方式。ABI 回答了以下问题:我是一个函数,我如何获取我的参数(从堆栈获取?从寄存器获取?等等)。遵循相同 ABI 标准的两个二进制文件可以使用或调用彼此的函数。
应用程序接口更可能是您的意思。API 是定义明确的函数,包括函数名称、所需参数以及函数功能的详细规范,允许程序员利用另一个二进制文件提供的服务。ABI 只关心“链接”,而不定义任何具体要完成的事情。
答案3
我认为操作系统充当软件和硬件之间的接口。由于操作系统控制计算机的所有操作,因此它能够从硬件接口提供软件运行所需的细节或元素。因此,操作系统通过在硬盘上进行虚拟存储管理来支持软件运行。因此,软件支持的文件通过操作系统链接到硬盘。