1. 程式人生 > >API和系統呼叫函式的區別(個人理解)

API和系統呼叫函式的區別(個人理解)

整個作業系統分為使用者空間和核心空間。
使用者空間:顧名思義,使用者可以訪問的記憶體空間。
核心空間:只有作業系統可以訪問,這是為了安全,所以遮蔽了使用者空間。
但是使用者又要與核心進行互動,怎麼辦呢。作業系統設定了系統呼叫函式,方便使用者使用。也就是說,使用者進入核心空間的唯一途徑就是通過系統呼叫,當然,還有一些間接地方法,但是最終都是通過系統呼叫來執行函式,完成相應的功能。
API函式:類似於驅動函式,對應於多個系統呼叫函式以完成一定的功能。
所以API實際上是提供了一個介面,功能比系統呼叫複雜,使用也簡單
例如:要複製一個檔案的內容到另一個檔案,API介面可能只要一個函式COPY(),提供特定的引數,原始檔和目標檔案,以及讀取檔案的長度等,就可以完成功能。但是這個函式需要呼叫很多系統呼叫。像開啟原始檔,讀原始檔內容,建立目標檔案等等。
那麼很自然的應用程式設計師更喜歡用API函式,因為它簡單,方便。系統呼叫複雜。
同時API方便呼叫

以上很好的解釋了API和系統呼叫的區別重點內容