區分應用程式程式設計介面(API)和系統呼叫。


讓我們學習一下應用程式程式設計介面。

應用程式程式設計介面

我們知道,多個裝置和應用程式之間共享資料。一些裝置包括線上預訂,一些在預訂系統中。

API(應用程式程式設計介面)用於在裝置和應用程式之間建立連線。但是,它是一個介面,它接收使用者的請求,並通知系統需要做什麼,並將響應返回給使用者。

示例

考慮一個擁有多家航空公司資訊的線上旅行社。旅行社與航空公司的 API 進行互動。

應用程式介面接收客戶預訂座位以及從旅行服務到航空公司系統選擇餐食的請求。然後,API 將航空公司的響應傳遞迴線上旅行社,他們將詳細資訊顯示給使用者。

這是一個 API 在現實世界中的應用示例。

系統呼叫

系統呼叫提供了一個使用者程式和作業系統之間的介面。

當用戶想要向作業系統發出指令時,它將透過系統呼叫來實現。或者使用者程式可以透過系統呼叫訪問作業系統的一部分核心。

它是一種程式化方式,計算機程式透過它向作業系統核心請求服務。

程式以兩種模式執行,如下所示:

  • 使用者模式 - 無法訪問任何硬體資源,僅執行使用者操作。

  • 核心模式 - 可以訪問硬體資源,如 RAM、印表機。

計算機中的處理器根據處理器上執行的程式碼型別在兩種模式之間切換。在使用者模式下執行的程序無法訪問為作業系統保留的虛擬地址。

當作業系統執行使用者應用程式(例如處理文字編輯器)時,系統處於使用者模式。當應用程式請求作業系統的幫助或發生中斷或系統呼叫時,就會發生從使用者模式到核心模式的轉換。

在使用者模式下,模式位設定為 1。當程式需要任何硬體資源時,它需要向核心發出呼叫。

透過系統呼叫,程式將切換到核心。它將與核心模式下的硬體資源一起發生。在硬體資源工作編譯完成後,它將再次回到使用者模式。只有在需要硬體時,它才會進入核心模式。

下圖顯示了作業系統中系統呼叫的結構:

出於安全原因,使用者應用程式不允許訪問硬體資源,當它們需要進行任何 I/O 或需要一些記憶體時,它會請求作業系統提供所有這些資源。此請求是透過系統呼叫發出的。

差異

應用程式程式設計介面(API)和系統呼叫的主要區別如下:

應用程式程式設計介面系統呼叫
API 是一組協議、例程和函式,允許在各種應用程式和裝置之間交換資料。系統呼叫允許程式向核心請求服務。
API 中定義各種元件之間通訊方法的協議和函式。這是一種方法,允許程式向作業系統的核心請求服務。
它可以是基於 Web 的系統、作業系統、資料庫或軟體庫。它提供了一個使用者程式和作業系統之間的介面。

更新於: 2021年11月29日

5K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告