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

2021-08-11 10:08:48 字數 534 閱讀 6815

整個作業系統分為使用者空間和核心空間。

使用者空間:顧名思義,使用者可以訪問的記憶體空間。

核心空間:只有作業系統可以訪問,這是為了安全,所以遮蔽了使用者空間。

但是使用者又要與核心進行互動,怎麼辦呢。作業系統設定了系統呼叫函式,方便使用者使用。也就是說,使用者進入核心空間的唯一途徑就是通過系統呼叫,當然,還有一些間接地方法,但是最終都是通過系統呼叫來執行函式,完成相應的功能。

api函式:類似於驅動函式,對應於多個系統呼叫函式以完成一定的功能。

所以api實際上是提供了乙個介面,功能比系統呼叫複雜,使用也簡單

例如:要複製乙個檔案的內容到另乙個檔案,api介面可能只要乙個函式copy(),提供特定的引數,原始檔和目標檔案,以及讀取檔案的長度等,就可以完成功能。但是這個函式需要呼叫很多系統呼叫。像開啟原始檔,讀原始檔內容,建立目標檔案等等。

那麼很自然的應用程式設計師更喜歡用api函式,因為它簡單,方便。系統呼叫複雜。

同時api方便呼叫

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

OLTP和OLAP的區別(個人理解)

在剛接觸資料建模的時候,我對這兩個概念也不是熟悉,只知道資料倉儲中有olap型別的表,適合資料分析人員進行資料的上捲下鑽 根據一定的維度屬性進行資料統計 而一般的事務資料庫的表型別是oltp,主要用於事務處理,後面慢慢了解之後才知道olap和oltp的區別。oltp是on line transact...

cookie和session的區別,個人理解

今天在刷牛客網前端面試題庫時,突然看到乙個問題,cookie和session的區別?說實話這個我還真沒想過,可是牛客網給的解釋卻很模糊。看的我一頭霧水 cookie是由伺服器端生成,傳送給user agent 一般是瀏覽器 伺服器告訴瀏覽器設定一下cookie 瀏覽器自動會將cookie以key v...

系統呼叫和函式呼叫的區別

作業系統服務的程式設計介面 通常由高階語言編寫 c或c 程式訪問通常通過高層次 的api介面 c標準庫的庫函式 而不是直接進行系統呼叫 每個系統呼叫對應乙個系統呼叫編號 系統呼叫 1.使用int和iret指令,核心和應用程式使用的是不同的堆疊,因此存在堆疊的切換,從使用者態切換到核心態,從而可以使用...