区分应用程序编程接口 (API) 和系统调用。

operating systemhardwaresoftware & coding更新于 2026/2/9 9:22:17

让我们了解一下应用程序编程接口。

应用程序编程接口

我们知道,多个设备和应用程序之间共享数据。一些设备包含在线预订功能,一些则包含在订票系统中。

API(应用程序编程接口)用于在设备和应用程序之间建立连接。然而,它是一个接口,它接收来自用户的请求,并告知系统需要做什么,然后将响应返回给用户。

示例

假设一家在线旅行社拥有多家航空公司的信息。该旅行社与航空公司的 API 进行交互。

应用程序接口接收来自客户的请求,以便从旅行服务到航空公司系统预订座位和选择餐食。然后,API 将航空公司的响应传回给在线旅行社,然后旅行社将详细信息显示给用户。

这是 API 在现实世界中应用的一个示例。

系统调用

系统调用在用户程序和操作系统之间提供了一个接口。

当用户想要向操作系统发出指令时,操作系统会通过系统调用来执行。或者,用户程序可以通过系统调用访问操作系统内核。

这是一种编程方式,计算机程序通过这种方式向操作系统内核请求服务。

程序以两种模式执行,如下所示 −

  • 用户模式 − 无法访问任何硬件资源,只能执行用户操作。

  • 内核模式 −可以访问 RAM、打印机等硬件资源。

计算机中的处理器根据处理器上运行的代码类型在两种模式之间切换。在用户模式下运行的进程无法访问为操作系统保留的虚拟地址。

当操作系统运行用户应用程序(例如处理文本编辑器)时,系统处于用户模式。当应用程序请求操作系统的帮助、发生中断或系统调用时,就会从用户模式转换到内核模式。

在用户模式下,模式位设置为 1。当程序需要任何硬件资源时,它需要调用内核。

通过系统调用,程序将切换到内核。这将发生在内核模式下的硬件资源上。在完成硬件资源的工作编译后,它将再次返回用户模式。当它需要硬件时,它才会进入内核模式。

下图表示操作系统中系统调用的结构 −

出于安全原因,用户应用程序无法访问硬件资源,当它们需要执行任何 I/O 或需要一些内存时,它会向操作系统请求其中之一。此请求通过系统调用发出。

差异

应用程序编程接口 (API) 和系统调用之间的主要差异如下 −

应用程序编程接口 系统调用
API 是一组协议、例程和函数,允许在各种应用程序和设备之间交换数据。 系统调用允许程序从内核请求服务。
API 中的协议和函数定义了各个组件之间通信的方法。 它是一种允许程序从操作系统内核请求服务的方法。
它可以是基于 Web 的系统、操作系统、数据库或软件库。 它提供了用户程序和操作系统之间的接口。


相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部