系統呼叫和庫函式

2021-10-03 23:17:44 字數 746 閱讀 2513

這一部分主要是為了使用者能夠方便的和作業系統互動,由此作業系統提供了使用者介面,讓使用者或者開發人員通過這些介面方便的與系統進行互動。

使用者介面分為三部分:命令介面(windows中為cmd命令列,linux中為terminal,使用者可以通過執行命令完成相應的任務)、程式介面(系統程式是取得作業系統服務的唯一途徑,每乙個系統呼叫都是乙個能夠完成特定的功能的子程式,使用者可以通過程介面取得特性的系統服務)、圖形介面(通過圖形化應用,使得使用者作業系統更加方便)。

上述已經說過,每一次系統呼叫都是乙個子程式呼叫。系統呼叫是核心提供的程式介面。而程式介面是應用程式和硬體裝置的中間層。

提供三種好處:

以下是幾種系統呼叫的型別:

系統呼叫和c庫函式並不是一一對應的,可能幾個不同的函式會呼叫到相同的系統呼叫。

並非所有的庫函式都會呼叫系統呼叫,例如:printf函式會呼叫write系統呼叫輸出乙個字元,而strcpy和atoi函式(不需要向核心請求任何服務)則不會使用任何系統呼叫。

核心封裝了系統呼叫,以用來實現獲取作業系統的服務。

使用函式而不是直接使用系統呼叫使得獲取系統的服務變得簡單(使程式設計師從細節中解放),同時使用者還可以使用shell執行命令。

應用程式可以執行呼叫系統呼叫或者通過函式首先應用程式的某些功能。

系統呼叫和庫函式

unix 環境高階程式設計 一書中如此說 所有作業系統都提供多種服務的入口點,由此程式向系統核請求服務。各種版本的unix都 提供經良好定義的有限數目的入口點,經過這些入口點進入系統核,這些入口點被稱之為 系統呼叫 system call 系統呼叫是我們不能更改的一種unix特徵。unix版本7提供...

系統呼叫和庫函式

在計算機中,系統呼叫 英語 system call 又稱為系統呼叫,指執行在使用者空間的程式向作業系統核心請求需要更高許可權執行的服務。系統呼叫提供了使用者程式與作業系統之間的介面。大多數系統互動式操作需求在核心態執行。如裝置io操作或者程序間通訊。庫函式是在系統呼叫上的一層包裝,執行在使用者態 u...

系統呼叫和庫函式

系統呼叫概述 系統呼叫,我們可以理解是作業系統為使用者提供的一系列操作的介面 api 這些介面提供了對系統硬體裝置功能的操作。這麼說可能會比較抽象,舉個例子,我們最熟悉的 hello world 程式會在螢幕上列印出資訊。程式中呼叫了 printf 函式,而庫函式 printf 本質上是呼叫了系統呼...