API 和系统调用有什么区别

目录:

Anonim

主要区别 API 和系统调用之间是 API 是一组协议、例程和函数,它们允许在各种应用程序和设备之间交换数据,而系统调用是一种允许程序从内核请求服务的方法。

API 由定义各种组件之间通信方法的协议和函数组成。它可以是基于 Web 的系统、操作系统、数据库或软件库。另一方面,系统调用是一种允许程序从操作系统内核请求服务的方法。

API、内核、系统调用

什么是 API

不同的设备和应用程序在它们之间共享数据。其中一些包括在线预订和预订系统。应用程序接口(应用程序接口) 有助于在设备和应用程序之间建立连接。此外,它是一个接口,它接收来自用户的请求并通知系统应该做什么并将响应返回给用户。

例如,假设一个在线旅行服务聚合了来自多个航空公司的信息。旅行服务与航空公司的 API 进行交互。 API 将预订座位和选择餐食的请求从旅行服务发送到航空公司系统。然后它将航空公司的回复发送回在线旅行服务,旅行服务将详细信息显示给用户。这是 API 的实际应用程序。

什么是系统调用

计算机以两种模式运行:用户模式和内核模式。程序的执行处于用户模式。当程序需要 RAM 或硬件资源时,它会向内核发送请求,并且模式从用户模式更改为内核模式。系统调用是指这些请求。完成任务后,模式变回用户模式。同样,模式不断变化。这种转换也称为上下文切换。

有多种类型的系统调用。其中一些如下。

过程控制系统调用 – 创建、执行、终止进程、设置进程属性等。

文件管理系统调用 – 创建、读取、写入、删除文件、打开和关闭文件、设置文件属性等。

设备管理系统调用 – 请求和释放设备,设置设备属性等。

信息管理系统调用 – 获取和设置系统数据,获取和设置时间和日期等。

通信系统调用 – 发送和接收消息、传输状态信息、创建和删除通信连接等。

API 和系统调用的区别

定义

API 是程序员用来开发软件以促进不同系统之间交互的一组协议、例程和函数。相比之下,系统调用是一种编程方式,其中计算机程序从它正在执行的操作系统的内核请求服务。因此,这些定义包含 API 和系统调用之间的主要区别。

用法

API 和系统调用之间的另一个区别是它们的用法。 API 有助于在各种系统、设备和应用程序之间交换数据,而系统调用允许程序从操作系统内核访问服务。

结论

API 和系统调用之间的主要区别在于,API 是一组允许在各种应用程序和设备之间交换数据的协议、例程、函数,而系统调用是一种允许程序从内核请求服务的方法。

参考:

1. 什么是 API?,MuleSoft 视频,2015 年 6 月 19 日,在此处提供。2。 “应用程序接口。”维基百科,维基媒体基金会,2018 年 11 月 16 日,可在此处获取。3。说明-操作系统中的系统调用和系统调用类型,Last Moment Learning,2017 年 7 月 12 日,可在此处获得。

图片提供:

1. Camwilliams96 的“Open-APIs-v5”——自己的作品(CC BY-SA 4.0),来自 Commons Wikimedia2。 “系统调用接口” 通过系统调用接口 – (CC BY-SA 4.0) 通过 Commons Wikimedia

API 和系统调用有什么区别