Linux教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 操作系统的功能

操作系统是用户与计算机硬件之间的界面,它是控制、管理计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合)。从图1.2可以看出,操作系统是裸机(计算机硬件)之上的第1层软件,是其他所有软件运行的工作平台。它的基本职能是控制和管理系统内各种资源,提供众多服务,方便用户使用。

理解操作系统的定义,可帮助用户更好地利用它的各种功能。Linux系统把计算机系统中的硬件资源和软件资源有机地结合在一起,从而提供丰富的功能,包括:控制硬件,管理资源,提供用户接口,处理输入/输出,监控系统,通信。

1.2.1 硬件控制

操作系统控制计算机硬件的运行,与硬件交换信息,并协调各硬件的动作。这样,用户可以通过应用程序和其他程序来访问外部设备,而不必了解硬件设备的具体特性。这种设备无关性对于软件的移植是非常重要的。

1.2.2 资源管理

在实际应用中,Linux系统支持多用户共享计算机系统的资源。这些用户往往要同时完成多项任务,而各个任务又有不同的目标。例如,有的用户进行文字输入,有的进行程序调试,还有的进行数据库查询,等等。具体来说,多任务处理能力允许用户在同一时间运行多个不同的程序,保证多个进程共享CPU和内存资源,提高用户的工作效率和生产能力。而多用户支持功能可利用一台计算机支持众多用户和共享昂贵的资源,可获得更高的性能价格比,而且与单用户机器构成的网络相比,更容易维护。

1.2.3 用户接口

用户接口定义了用户与计算机交互作用的方式。Linux操作系统提供4种不同的用户接口。

1.命令行接口

命令行是为具有操作系统使用经验,熟悉所用命令和系统结构的人员设计的。功能强大,使用方便的命令行是UNIX/Linux系统的一个显著特征。支持命令行的系统程序是命令解释程序。它的主要功能是接收用户输入的命令,然后予以解释并执行。

在命令行下,系统提示用户利用键盘输入命令,每次一行。例如:

    $ date

该命令显示系统当前的日期和时间。其中,“$ ”是系统提示符(由字符$和一个空格组成)。用户可以修改提示符,详见4.6.8节。

在UNIX/Linux系统中,通常将命令解释程序称为shell。各种Linux环境下都安装了多种shell,这是由历史原因造成的。这些shell由不同的人编写并得到一部分用户青睐,各有其优势,最常用的几种是Bourne shell(sh),C shell(csh),Bourne Again shell(bash)和Korn shell(ksh)。红旗Linux的默认shell是bash。

bash是Bourne Again shell的缩写,其作者是Brain Fox和Chet Ramey,它是Rad Hat Linux的默认shell。

bash shell与Bourne shell(UNIX下最常见的shell)是向下兼容的,并且融合了许多其他shell的好的特征,是一种功能全面的shell。另外,bash还有很多自己的特色,例如,可以使用方向键查阅以往的命令,对命令进行编辑等。如果忘记命令名,还可以向系统求助,使用命令补齐功能等。另外,bash在shell编程方面也相当优秀。

使用shell时,是在一个包含环境变量的环境下运行的,如提示符。这些环境变量是在起始注册目录和/etc目录的各种资源文件中定义的。

命令行解释程序界面如图1.4所示(其中,“|”表示光标位置)。

图1.4 命令行解释程序界面

2.菜单

菜单最初是专为初学者或者那些只需要使用操作系统的一个功能子集的用户设计的。菜单为用户提供一些使用指导,从而方便用户的使用。菜单的主要特征如下:

①菜单中列出可能发生的活动,用户从菜单中进行选择,就相当于发出特定的命令,而无须使用很多命令。

②菜单通常采用多级结构,沿着菜单逐级打开,用户的选择范围逐步缩小,从而使选择变得容易。

③为了加快访问速度,用户可以使用键盘及附加的小键盘和功能键来浏览菜单并进行选择。

④菜单界面操作快捷,使用方便,但应用范围受到限制。

红旗Linux系统提供字符环境中文界面,所有菜单实现中文化,便于国内用户的学习和使用。如图1.5所示是红旗Linux桌面版6.0系统主菜单示例。

图1.5 红旗Linux的主菜单示例

3.图形用户接口

无论是初学者还是有经验的用户,都可以使用图形用户接口。图形用户接口不仅可以提供不同风格的菜单,还可以根据个人的喜好,很容易地配置视图布局和活动。

图形用户接口可以让用户以三种方式与计算机交互作用:

①通过形象化的图标浏览系统状况。

②用鼠标点击方式直接操纵屏幕上的图标,从而发出控制命令。

③提供与图形系统相关的视窗环境,使用户可以从多个视窗观察系统,能同时完成几个任务。

红旗Linux预装炎黄中文平台和方正TrueType字库,提供字符界面中文环境和X Window界面中文环境,中西文兼容,并能够实现TrueType的显示和打印功能。

4.程序接口

程序接口也称为系统调用接口。用户在自己的C程序中使用系统调用,从而获得系统提供的更基层的服务。

系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统中,系统调用以C函数的形式出现。例如:

    fd=open("file1.c", 2);

其中,open是系统调用,它根据模式值2(允许读、写)打开文件file1.c。

所有内核之外的程序都必须经由系统调用才能获得操作系统的服务。系统调用只能在C程序中使用,不能作为命令在终端上执行。由于系统调用能直接进入内核执行,所以其执行效率很高。在不同系统中,系统调用的数目有差别。

1.2.4 输入和输出处理

操作系统加载和运行的程序往往需要输入数据,并产生输出结果。输入可能来自键盘、鼠标或者Modem,而输出可能送往主控台、终端屏幕、打印机或者Modem。

操作系统把用户的输入加工成程序可识别的形式,并把程序的输出转换成用户能理解的形式。

1.2.5 系统监控

在使用计算机系统的过程中,系统资源要不断地被分配出去使用,又再次被释放回收。有时,同时会有多个用户请求使用同样的资源。操作系统必须监控这种活动,解决资源使用过程中的冲突,保证这些资源最后能被系统再次利用。UNIX/Linux系统通常采用以下办法来实现这一目标:

①通过记录和文件加锁,保证数据的完整性。

②利用调度进程和审计系统。

③当系统出现错误时,提供错误诊断信息。

④终止运行不正常的进程,甚至在最坏的情况下停止系统。

1.2.6 通信

在现代计算环境中,用户彼此间进行通信是必不可少的。操作系统必须提供这种通信软件或支持用户通信的软件。

① Linux系统提供UUCP(UNIX-to-UNIX Copy)软件,可以支持Modem设备,允许用户通过电话线来访问数据。这种方式也同样支持电子邮件和传真(FAX)传递。

② Linux系统支持网络系统,让用户可以共享其他计算机上的资源。Linux为用户提供了配置WWW服务器、邮件服务器、DNS服务器、FTP服务器、PPP等网络功能的图形化配置工具。使用这些工具,用户可以简便、快捷地配置自己的网络。