1.2 UNIX结构
严格的来说,操作系统被定义为操控计算机硬件和为程序提供运行环境的软件。一般来说,我们称改软件为内核(kernel),因为其相对较小并居于运行环境的核心。图1.1展示了UNIX系统的架构。
图 1.1 UNIX操作系统的结构
内核的接口是一个软件层,被称为系统调用【system calls】(图1.1中阴影部分)。常用的函数库就被构建在系统调用接口之上,但是应用程序可以任意地调用他们二者。(我们将在1.11节更多的介绍系统调用和常用函数库。)解释器(shell)是一个特殊的应用程序,其用来为其它程序的运行提供接口。
更一般来说,一个操作系统就是内核和所有其它使得计算机易用并有个性的软件的组合。这些其它的软件包括系统工具,应用程序,解释器(shell),常用函数库,等等。
举例来说,Linux就是被GNU操作系统使用的内核。一些人称此为GNU/Linux操作系统,然而其通常的被简称为Linux。尽管这种称法严格来说并不正确,然而这种称法却更容易理解,赋予了词组操作系统双重含义。(另一个优点是这样更简洁。)