1.2 UNIX結(jié)構(gòu)
嚴(yán)格的來說,操作系統(tǒng)被定義為操控計算機(jī)硬件和為程序提供運(yùn)行環(huán)境的軟件。一般來說,我們稱改軟件為內(nèi)核(kernel),因為其相對較小并居于運(yùn)行環(huán)境的核心。圖1.1展示了UNIX系統(tǒng)的架構(gòu)。

圖 1.1 UNIX操作系統(tǒng)的結(jié)構(gòu)
內(nèi)核的接口是一個軟件層,被稱為系統(tǒng)調(diào)用【system calls】(圖1.1中陰影部分)。常用的函數(shù)庫就被構(gòu)建在系統(tǒng)調(diào)用接口之上,但是應(yīng)用程序可以任意地調(diào)用他們二者。(我們將在1.11節(jié)更多的介紹系統(tǒng)調(diào)用和常用函數(shù)庫。)解釋器(shell)是一個特殊的應(yīng)用程序,其用來為其它程序的運(yùn)行提供接口。
更一般來說,一個操作系統(tǒng)就是內(nèi)核和所有其它使得計算機(jī)易用并有個性的軟件的組合。這些其它的軟件包括系統(tǒng)工具,應(yīng)用程序,解釋器(shell),常用函數(shù)庫,等等。
舉例來說,Linux就是被GNU操作系統(tǒng)使用的內(nèi)核。一些人稱此為GNU/Linux操作系統(tǒng),然而其通常的被簡稱為Linux。盡管這種稱法嚴(yán)格來說并不正確,然而這種稱法卻更容易理解,賦予了詞組操作系統(tǒng)雙重含義。(另一個優(yōu)點是這樣更簡潔。)