
1. Linux内核
内核是系统的心脏,是运行程式和管理像磁盘和打印机等硬件设备的核心程式。他从用户那里接受命令并把命令送给内核去执行。
2. Linux Shell
Shell是系统的用户界面,提供了用户和内核进行交互操作的一种接口。他接收用户输入的命令并把他送入内核去执行。
实际上Shell是个命令解释器,他解释由用户输入的命令并且把他们送到内核。不但如此,Shell有自己的编程语言用于对命令的编辑,他允许用户编写由shell命令组成的程式。Shell编程语言具备普通编程语言的很多特点,比如他也有循环结构和分支控制结构等,用这种编程语言编写的Shell程式和其他应用程式具备同样的效果。
Linux提供了像Microsoft Windows那样的可视的命令输入界面--X Window的图像用户界面(GUI)。他提供了很多窗口管理器,其操作就象Windows相同,有窗口、图标和菜单,任何的管理都是通过鼠标控制。现在比较流行的窗口管理器是KDE和GNOME。
每个Linux系统的用户能够拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。同Linux本身相同,Shell也有多种不同的版本。现在主要有下列版本的Shell:
Bourne Shell:是贝尔实验室研发的。
BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。
Korn Shell:是对Bourne SHell的发展,在大部分内容上和Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
3. Linux文档结构
文档结构是文档存放在磁盘等存储设备上的组织方法。主要体现在对文档和目录的组织上。目录提供了管理文档的一个方便而有效的途径。我们能够从一个目录转换到另一个目录,而且能够配置目录和文档的权限,配置文档的共享程度。
使用Linux,用户能够配置目录和文档的权限,以便允许或拒绝其他人对其进行访问。Linux目录采用多级树形结构,图1.1表示了这种树形等级结构。用户能够浏览整个系统,能够进入任何一个已授权进入的目录,访问那里的文档。
文档结构的相互关联性使共享数据变得容易,几个用户能够访问同一个文档。Linux是个多用户系统,操作系统本身的驻留程式存放在以根目录开始的专用目录中,有时被指定为系统目录。图1.1中那些根目录下的目录就是系统目录。
内核,Shell和文档结构一起形成了基本的操作系统结构。他们使得用户能够运行程式,管理文档连同使用系统。此外,Linux操作系统更有许多被称为实用工具的程式,辅助用户完成一些特定的任务。
4. Linux实用工具
标准的Linux系统都有一套叫做实用工具的程式,他们是专门的程式,例如编辑器、执行标准的计算操作等。用户也能够产生自己的工具。
实用工具可分三类:
编辑器:用于编辑文档。
过滤器:用于接收数据并过滤数据。
交互程式:允许用户发送信息或接收来自其他用户的信息。
Linux的编辑器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行编辑器,Vi和Emacs是全屏幕编辑器。
Linux的过滤器(Filter)读取从用户文档或其他地方的输入,检查和处理数据,然后输出结果。从这个意义上说,他们过滤了经过他们的数据。Linux有不同类型的过滤器,一些过滤器用行编辑命令输出一个被编辑的文档。另外一些过滤器是按模式寻找文档并以这种模式输出部分数据。更有一些执行字处理操作,检测一个文档中的格式,输出一个格式化的文档。 过滤器的输入能够是个文档,也能够是用户从键盘键入的数据,还能够是另一个过滤器的输出。过滤器能够相互连接,因此,一个过滤器的输出可能是另一个过滤器的输入。在有些情况下,用户能够编写自己的过滤器程式。
交互程式是用户和机器的信息接口。Linux是个多用户系统,他必须和任何用户保持联系。信息能够由系统上的不同用户发送或接收。信息的发送有两种方式,一种方式是和其他用户一对一地链接进行对话,另一种是个用户对多个用户同时链接进行通讯,即所谓广播式通讯。
Linux操作系统在短短的几年之内得到了很迅猛的发展,这和Linux具备的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具备以下主要特性:
1 开放性
开放性是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所研发的硬件和软件,都能彼此兼容,可方便地实现互连。
2 多用户
多用户是指系统资源能够被不同用户各自拥有使用,即每个用户对自己的资源(例如:文档、设备)有特定的权限,互不影响。Linux和Unix都具备多用户的特性。
3 多任务
多任务是现代电脑的最主要的一个特点。他是指电脑同时执行多个程式,而且各个程式的运行互相单独。Linux系统调度每一个进程平等地访问微处理器。由于CPU的处理速度很快,其结果是,启动的应用程式看起来似乎在并行运行。事实上,从处理器执行一个应用程式中的一组指令到Linux调度微处理器再次运行这个程式之间只有很短的时间延迟,用户是感觉不出来的。
4 良好的用户界面
Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,他既能够联机使用,又可存在文档上脱机使用。shell有很强的程式设计能力,用户可方便地用他编制程式,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程式,这个程式能够单独运行,也能够和其他程式同时运行。
系统调用给用户提供编程时使用的界面。用户能够在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程式提供低级、高效率的服务。
Linux还为用户提供了图像用户界面。他利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好的图像化界面。
5 设备单独性
设备单独性是指操作系统把任何外部设备统一当作成文档来看待,只要安装他们的驱动程式,任何用户都能够象使用文档相同,操纵、使用这些设备,而不必知道他们的具体存在形式。
具备设备单独性的操作系统,通过把每一个外围设备看作一个单独文档来简化增加新设备的工作。当需要增加新设备时、系统管理员就在内核中增加必要的连接。这种连接(也称作设备驱动程式)确保每次调用设备提供服务时,内核以相同的方式来处理他们。当新的及更好的外设被研发并交付给用户时,操作允许在这些设备连接到内核后,就能不受限制地立即访问他们。设备单独性的关键在于内核的适应能力。其他操作系统只允许一定数量或一定种类的外部设备连接。而设备单独性的操作系统能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其和内核的专用连接单独进行访问。
Linux是具备设备单独性的操作系统,他的内核具备高度适应能力,随着更多的程式员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户能够免费得到Linux的内核源代码,因此,用户能够修改内核源代码,以便适应新增加的外部设备。
6 供了丰富的网络功能
完善的内置网络是Linux的一大特点。 Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些连网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。
支持Internet是其网络功能之一。Linux免费提供了大量支持Internet的软件,Internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux和世界上的其他人通过Internet网络进行通信。
文档传输是其网络功能之二。用户能通过一些Linux命令完成内部信息或文档的传输。
远程访问是其网络功能之三。Linux不但允许进行文档和程式的传输,他还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。
7 可靠的系统安全
Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
8 良好的可移植性
可移植性是指将操作系统从一个平台转移到另一个平台使他仍然能按其自身的方式运行的能力。
Linux是一种可移植的操作系统,能够在从微型电脑到大型电脑的任何环境中和任何平台上运行。可移植性为运行Linux的不同电脑平台和其他任何机器进行准确而有效的通信提供了手段,无需另外增加特别的和昂贵的通信接口。
|