搜档网
当前位置:搜档网 › solaris 系统介绍

solaris 系统介绍

第1章Solaris操作系统

操作系统是计算机的控制程序。它负责分配计算机资源并对任务进行调度。计算机资源包括所有的硬件:中央处理单元(C P U)、系统内存、磁盘和磁带存储器、打印机、终端、调制解调器以及连接到计算机或位于计算机内的任何其他设备。操作系统同时还提供给用户一个接口—为用户提供访问计算机资源的方式。

操作系统几乎可以同时完成各种不同的功能。它负责追踪每一个文件保存在磁盘上的位置和文件名,并且监视在每一个终端上的击键动作。并且经常需要对内存进行调度分配,以使得每次只有一个任务在使用给定的某块内存区域。除此之外,操作系统的其他功能还包括完成用户发出的请求,运行用于追踪资源使用状况的记账程序,并且执行备份和其他系统维护实用程序。虽然计算机看起来好像在同时运行多个程序,但操作系统需要对任务进行调度,以使处理器在某一给定时刻只对一项任务进行处理。

Solaris 2操作系统是基于UNIX System V版本4(S V R4)的系统,S u n公司在其中添加了许多功能。要了解Solaris 2,用户必须首先了解一些有关U N I X的历史。

1.1 UNIX的历史

U N I X系统是由一些需要一系列现代化计算工具来辅助他们完成其工程的研究人员所开发的,该系统可使得一组人员协同工作以完成某项工程,成员之间可以共享指定的数据和程序,同时保持其他一些信息属于各自成员私有。

在推广U N I X操作系统的“四年努力”(f o u r-year eff e c t)中,一些大学和学院扮演了关键的角色。当U N I X操作系统在1 975年已经具有广泛的可用性时,贝尔实验室以几乎微不足道的价格将它提供给教育机构使用。于是学校便将其用于它们的计算机科学的教学计划中,以保证那些学习计算机科学的学生能够熟悉它。由于U N I X操作系统在当时是一个如此先进的开发系统。学生们便逐渐适应了这个复杂的编程环境。当这些学生毕业进入工业界后,他们希望能够继续在一个熟悉的高级编程环境下进行他们的工作。随着这些学生越来越多地在商业领域走向成功,U N I X操作系统便轻而易举地走向工业界,并产生了日益重要的影响。

加州大学伯克利分校除了将U N I X操作系统介绍给学生之外,其计算机系统研究组(Computer System Research Group,C S R G)对该操作系统进行了一些重大的补充和修改。该校对该操作系统进行了如此之多的改进,以至于目前所使用的占主导地位的两种U N I X操作系统版本,一种称为U N I X操作系统的B S D(Berkeley Software Distribution)版本。另一种版本

则为UNIX System V,它继承了AT &T和UNIX 系统实验室所开发和维护的版本。

1.2 Solaris的优点

S u n公司推出的操作系统最初称为S U N O S,当S u n在SUNOS 4.1.2中捆绑了O p e n W i n d o w s之后,该操作系统便称为Solaris 1.0软件包。从该版本起,S o l a r i s的功能至今已经有了很大的变化,尤其是Solaris 2的推出使之更为显著。Solaris 2具有许多引以为荣的特点,本节将介绍其中比较重要的一些特点。

1.2.1 系统特点

Solaris 操作环境包括一个3 2位和6 4位的内核,具有基于标准的网络连接功能,同时支持S PA R C和I n t e l平台,并提供对J a v a技术的支持。而作为Solaris 7(也称为Solaris 2.7)的一部分而推出的6 4位计算环境则提供了比早期操作系统版本更强大的计算容量、计算精度和性能。

S o l a r i s的对称多处理(S M P)内核可以使得S o l a r i s能够在具有多个C P U的计算机上运行。除了基于We b的安装方式之外,基于图形用户界面(G U I)的文本/语音提示方式以及过程管理器使得S o l a r i s软件的安装和使用更加容易。

S o l a r i s支持西欧货币符号以及阿拉伯文、泰文和希伯来语言的复杂文本格式,并且支持多语种应用程序的开发。

1.2.2 标准

S o l a r i s支持P O S I X.1和P O S I X.2标准。它同时还支持X /开放公共应用程序环境(C o m m o n Application Enviroment,C A E),Portability Guide Issue 4版本2(X P G4v2)和N e t w o r k i n g Service Issue 4(X N E T4)。S u n公司巧妙地设计了S o l a r i s系统,使得用户可以在其上同时运行P O S I X兼容的实用程序和传统的U N I X实用程序。

1.2.3 二进制兼容性

Solaris 2的一个优点是它可以从一个单处理器的I n t e l计算机或旧式的S PA R C1计算机扩展到6 4位处理器的超级计算机Ultra Enterprise 10000(S t a r f i r e)服务器群集。另外,从最慢的到最快的多处理器计算机,整个S PA R C系列都是二进制兼容的(即用户可以将同一个程序运行于任何一台该系列计算机之上。但是注意不能将一个S PA R C系列的二进制程序运行于Intel x86计算机上,反之也是如此)。

1.2.4 UNIX标准化

来自工业界各家公司的代表曾共同参与制订了名为P O S I X(Portable Operating System Interface for Computer Enviroment,可移植计算机环境操作系统接口)的标准,这一标准大部分是基于UNIX System V接口定义(S V I D)和其他早期的一些标准化工作基础的。出于对可减少采购和培训费用的计算环境的需求,美国政府出资推动了这些标准化工作。目前这些标准正逐步得到广泛接受,软件开发者可以在所有U N I X兼容的版本,包括S o l a r i s之上运行应用程序。

具体参见附录D。

1.2.5 UNIX如何在不同的计算机/处理器上运行

可移植操作系统是一种可在许多不同的计算机上运行的操作系统。U N I X/S o l a r i s操作系统的9 5%以上的代码是以C语言编写的,由于C语言是一种高层的、与计算机无关的可移植语言(即使C编译器也是由C语言编写的)。因此,正如U N I X可以在不同计算机之间移植一样,S o l a r i s也可以在S PA R C和I n t e l两种不同系统的计算机上运行。

C编程语言

Ken Thompson在1 969年最初以P D P-7汇编语言编写了U N I X操作系统。汇编语言是一种计算机相关语言:以汇编语言编写的程序只能在一种计算机或至多在同一系列的计算机上运行。因此,将最初的U N I X操作系统移植到其他计算机上运行是一件很困难的事情。

为了使U N I X可以移植,T h o m p s o n开发了B编程语言,这是一种源于B C P L语言的与计算机无关的语言。Dennis Ritchie通过修改B语言开发了C编程语言,并且和T h o m p s o n于1 973年用C 语言重新编写了U N I X。经过这次重写之后,UNIX 操作系统便可以很容易地移植到其他的计算机上运行了。

以上便是C语言的来由。用户由此可对C语言的强大功能略见一斑。C语言可用于编写与计算机无关的应用程序。程序员可以将设计开发为可移植的应用程序,并轻易地移植到任何一台具有C编译器的计算机上运行。C语言同时还设计为可编译成不同的代码。自从C语言出现之后,程序员便不再局限于使用汇编语言来编写代码(汇编语言虽然执行速度较快,但是需要对代码进行手工调整优化,汇编语言一般可以生成比高层语言效率更高的代码)。

C语言是一种现代系统编程语言。人们可以用C语言编写一个编译器或一个操作系统。它属于高级编程语言,但不仅仅局限于一种高级语言。C语言同时还允许程序员在编写操作系统的过程中必要时可对位和字节进行操作。这使它具有一些低级语言的特征。而它同时所具有的高级语言特征又使得它具有模块化、高效率的编程特点。

与U N I X一样,C语言同样由于其可移植、标准化以及功能强大等特点而广为普及。它既具有高级语言的灵活性,又可以用于系统编程。这些特点使得C语言既可用,又十分实用。美国国家标准化协会(A N S I)在8 0年代末期定义了一个C语言的标准版本,也即通常称为A N S I C的版本。而该语言最初的版本则常常称为Kernighan & Ritchie(或者缩写为K &R)C,该名称来自于第一本专门说明C语言的书的作者的名称。另外一位来自贝尔实验室的 B j a r n e S t r o u s t r u p,则创建了一种称为C ++的面向对象的编程语言,该语言建立在C语言的基础之上。由于目前许多程序员更倾向于面向对象的编程,因此在许多环境下,C ++语言常常优先于C语言而使用。

1.3 Solaris概述

作为U N I X的一种版本,S o l a r i s具有许多独特和强大的功能。与其他操作系统一样,S o l a r i s也是一种用于计算机的控制程序。但它同样又是一个精心设计的实用程序组(如图 1 -1所示),以及可允许用户连接并使用这些实用程序来建立系统和应用程序的一系列工具。

图1-1 Solaris 操作系统的层次化视图 1.3.1 Solaris 具有一个内核编程接口

内核是S o l a r i s 操作系统的心脏,负责控制计算机的资源并对用户作业进行调度,以使得每一个作业都能够获得相应的系统资源,包括对C P U 、磁盘、C D R O M 、打印机和磁带驱动器等外围设备的访问。应用程序通过系统调用(system call ,众所周知的特殊函数)来与内核进行交互,程序员可以使用单个系统调用来与各种不同的设备进行交互。例如系统中只有一个w r i t e 系统调用,而不是具有多个与设备相关的系统调用。当某个程序发出一个w r i t e 请求时,内核将解释设备环境并将请求传递给相应的设备。这种灵活性可允许一些旧版本的实用程序能够与最初编写这些实用程序时尚未出现的新设备进行工作,并且使得应用程序可移植到新版本的操作系统而不必重新编写(如果新版本的操作系统可以识别同一系统调用的话)。

1.3.2 同时支持多个任务

S o l a r i s 是一个完全受保护的、多任务操作系统(与Windows 95不同)。它允许每一个用户同时运行多个作业,进程之间可以相互通信,并且每一个进程受到完全保护,从而免受其他进程的侵扰,正如内核受到保护而免受所有进程的侵扰一样。用户可以在集中精力于当前屏幕所显示作业的同时,在后台运行其他一些作业;用户甚至还可以在作业之间来回切换。如果用户正在运行X Wi n d o w 系统,则可以在同一个屏幕上的不同窗口中运行不同的程序,并且可以看到所有的程序。利用这一功能,用户可以同时处理更多的事情。

1.3.3 同时支持多个用户

根据所使用计算机的不同,一个S o l a r i s 系统可以支持从1到1 000个以上的用户,每一个用编译器数据库管理系统

命令解释程序和实用程序UNIX 内核

硬件

X Window 系统

字处理程序格式化程序邮件和消息

工具程序

户都可以同时运行不同的程序组。多个用户同时使用一台计算机的花费要低于一次只能供单个用户使用的计算机。费用之所以低的原因是由于通常单个用户不能充分使用计算机可提供的全部资源。任何人都不可能使打印机一直处于持续打印状态,而且系统内存被完全使用,磁盘一直忙于读写操作,调制解调器一直处于使用状态,并且终端、工作站和终端仿真器一直处于忙状态。而一个多用户操作系统则可以允许多个用户几乎同时使用所有的系统资源。这样,系统资源可以得到最大程度的利用,相应地,每个用户所花费的开销便减低到最小。这正是多用户操作系统的基本目的所在。

1.3.4 Solaris 提供了具有内在安全性的层次化文件系统

“文件”是一组信息的集合,例如,用做备忘录或报告的文本、一个销售数字的累计、一张

图片或者一个由某个编译器所创建的可执行程序。每一个文件都以一个唯一的名称进行存储,通常存放于磁盘存储设备上。S o l a r i s 文件系统提

供了一个使文件在“目录”之下进行组织的结

构体系,目录类似于文件夹或文件柜。每一个

目录具有一个名称,并且可以包含其他的文件

和目录。目录依次组织于其他目录之下,形成

一种树状结构的组织形式。这种结构可使用户

通过将相关的文件组织到各个目录之下的方式,

来使用户对大量的文件进行管理和追踪。每一

个用户都具有一个基本目录,并可以根据需要

在该目录下建立更多的子目录(如图1-2所示)。

另外,文件系统中提供的一种“连接”机制,可以使某个给定的文件能够以两个或多个

不同的名称来访问。备选的文件名既可以位于原始文件所在的目录下,也可以位于不同的目录下。连接机制可以用于使同一个文件出现在不同的用户目录中,以使得用户之间可以很方便地进行文件共享。

与许多用户操作系统相似,S o l a r i s 允许用户保护他们各自的数据,以防止其他用户访问。S o l a r i s 还可以允许用户通过一种简单但有效的保护措施来与其他一些用户共享指定的数据和程序。

1.3.5 shell 是一种命令解释程序和编程语言

s h e l l 是一种作为用户和操作系统之间的接口的命令解释程序。当用户输入一个命令时,s h e l l 将对命令进行解释并调用用户所希望的程序。S o l a r i s 中具有一些可用的s h e l l ,其中最通用的为以下几个:

? Bourne shell (s h ):最初UNIX shell 之一的Bourne shell 的一个增强版本。

? C shell (c s h ):作为Berkeley UNIX 系统的一部分而开发的C shell 的一个增强版本。

? Korn shell (k s h ):一种综合了多个s h e l l 特点的命令解释程序。

由于用户常常选用自己所喜好的s h e l l ,因此多用户操作系统便在任何时候都有多个不同的图1-2 UNIX 文件系统结构

s h e l l在使用。多种s h e l l的选择充分展示了S o l a r i s操作系统的一项功能:提供用户自定义的用户界面。

s h e l l的功能除了将来自某个终端、终端仿真器或工作站上的键盘命令进行解释并发送到操作系统之外,还可以用作一种高级编辑语言。s h e l l命令可以组织在一个文件中作为一个高级程序来执行。这种灵活性可以使用户利用相对比较简单、较短的命令来进行复杂的操作,或者几乎毫不费力地创建一个可完成高度复杂操作的精巧程序。

1. 文件名生成

当用户输入命令等待由s h e l l处理时,可以使用对于s h e l l具有专门含义的特殊字符来创建模式(p a t t e r n)。这些模式是一些快捷方式,用户可以以模式方式输入,而不必输入整个文件名,s h e l l将把这些模式扩展为匹配的文件名。模式可以节省用户输入一个长文件名或与文件名类似的长字符串所费的精力。另外当用户只知道部分文件名或者记不清整个文件名的拼写时,此时模式便非常有用。

2. 设备无关的输入和输出

设备(例如打印机或终端)和磁盘文件对于S o l a r i s程序都是以文件形式出现。当用户向S o l a r i s操作系统发出一个命令时,可以指令它将输出送到任何一个设备或文件中。这种变更称为输出重定向(r e d i r e c t i o n)。

同样,通常来自某个用户键盘的程序输入也可以被重定向以使其来自某个磁盘文件。在

S o l a r i s操作系统下,输入和输出是设备无关的;输出可以被重定向到任何相应的设备,来自任何相应设备的输入也可以被重定向。

例如,c a t实用程序通常在屏幕上显示一个文件的内容。当用户运行一个c a t命令时,可以很容易地使其将输出送到某个磁盘文件而不是屏幕上。

3. shell函数

s h e l l的一个最重要的特点是用户可以将它作为编程语言而使用。由于s h e l l是一种解释程序,它不能对为它所编写的程序进行编译,而是在每一次从磁盘加载这些程序时对它们进行解释。而加载和解释程序经常要耗费许多时间。因此许多s h e l l(包括s h和k s h在内),允许用户编写s h e l l函数,s h e l l将把这些函数保留在内存中,这样当每一次用户希望执行它们时不必再从磁盘上进行读取。s h e l l同时还以一种内部格式来保持这些函数,因此它便不再需要花费过多的时间来解释它们。用户可参考第1 3章以了解更多有关s h e l l函数的信息。

4 . 作业控制

作业控制(job control)是s h e l l的一个特点,允许用户同时处理多个作业,并在作业之间来回随意切换。通常当用户启动一个作业时,它将处于前台并连接到用户的终端或工作站。通过作业控制,用户可以将当前正在处理的作业切换到后台继续运行,同时在前台处理或查看另一个作业。如果用户需要处理后台的作业,可以将它切换到前台并再次连接到用户的终端或工作站。作业控制的概念随Berkeley UNIX而出现,并在C shell中实现。

1.3.6 大量有用的实用程序

S o l a r i s包括几百个实用程序,它们通常称为命令(c o m m a n d)。这些实用程序完成用户普

遍需要的功能。例如s o r t,s o r t实用程序可以对列表(或一组列表)进行排序。它可以按照字母顺序或数字顺序来排列,这样便可以通过零件号码、作者、姓名、城市、邮政编码、电话号码、年龄、大小、费用等等各种关键字来使用s o r t对列表进行排序。s o r t实用程序是一个重要的编程工具,并且是标准S o l a r i s系统的一部分。其他的实用程序则允许用户创建、显示、打印、复制、搜索并删除文件。另外还有可进行文本编辑、格式化和排版的实用程序。m a n(用于手工方式)实用程序则可以提供S o l a r i s的联机文档。

1.3.7 进程间通信

S o l a r i s允许用户对命令行建立“管道”或“过滤器”。管道可以发送某个程序的输出到另一个程序以作为其输入。过滤器则是管道的一种特殊形式。它是一个对输入数据流进行处理以产生一个输出数据流的程序。过滤器常常用于两个管道之间。过滤器对某个程序的输出进行处理并转变为某种格式,然后过滤器的输出将作为另一个程序的输入。

管道和过滤器常常和实用程序一起使用以完成某项特定的任务。例如,用户可以使用一个管道来将c a t实用程序的输出发送到s o r t实用程序(此时它作为一个过滤器),然后使用另一个管道来将s o r t的输出发送到第三个实用程序l p,由它再将数据发送到打印机。这样用户便可以通过一个命令行同时使用三个实用程序来排序并打印某个文件。

1.3.8 系统管理

系统管理员具有多项职责。其首要的职责应当是安装系统和软件。一旦系统启动并运行,系统管理员便需要负责下载并安装软件(包括升级操作系统)、备份和恢复文件、管理系统工具(例如安全性、网络设置和维护、打印机、终端端口和通过电话线进行远程登录、局域网和因特网)。系统管理员同时还负责为新用户建立账户(在多用户系统之上),在必要时重新启动或关闭系统,处理出现的任何问题。在本书的第1 5章和其他部分介绍了在系统安装之后的所有系统管理工作。

1.4 Solaris的其他特点

1.4.1 图形用户界面

X Window 系统也称为X,部分由麻省理工学院的研究人员所开发,它提供了S o l a r i s所用图形用户界面的基础。只要终端或工作站屏幕支持X,则用户便可以在屏幕上通过多个窗口与计算机进行交互;显示图形化信息;或者使用专门的应用程序来绘制图形,监视进程或者预览排版软件的输出结果。X是一种跨网络的协议,可允许用户在远离实际生成窗口的主机之外的工作站或计算机系统上打开一个窗口。

窗口管理器是在X Wi n d o w系统下运行的一个程序,它允许用户打开、关闭窗口,启动程序使其运行,并且设置鼠标使其根据用户所单击的方式和位置而完成不同的工作。它是一个可设置用户屏幕特性的窗口管理器。与微软公司的Wi n d o w s只能允许用户改变某个窗口中关键元素的颜色相比,X Wi n d o w系统下运行的窗口管理器可以使用户改变用户屏幕的整个外观和感

觉。它允许用户改变窗口的外观和工作方式(用户为窗口设置不同的边框、按钮和滚动条),建立虚拟桌面,创建鼠标按钮菜单及其他更多设置。

S o l a r i s具有三个窗口管理器:O D T窗口管理器(d t w m),O p e n L o o k窗口管理器(o l w m),和Ta b窗口管理器(t w m)。用户可能通常会用到前两个窗口管理器的中某一个。

1.4.2 网间连接实用程序

S o l a r i s提供了对网络的支持,它具有许多有用的实用程序,可使用户通过各种网络来访问远程系统。用户除了可以很容易地给其他计算机上的用户发送邮件之外,还可以访问位于其他计算机中磁盘上的文件,就像这些文件位于本地计算机上一样,另外,也可以以相似的方式使用户自己的文件能够被其他计算机上的用户所访问,同时还可以在计算机之间相互进行文件复制,以及在其他计算机上运行程序并将结果显示在本地计算机上,并且跨局域网和包括因特网在内的广域网来完成许多其他的操作。

处于上述网络访问之上的一层是将计算机上的资源延伸到全球的各种应用程序。用户可以在网络上与遍及全世界的人们进行交谈,收集有关各种对象的信息,并且从因特网上迅速可靠地下载新软件。第7章介绍了当连接到某个网络时如何使用S o l a r i s的更多信息。

1.4.3 软件开发

S o l a r i s的特点之一是它具有丰富的软件开发环境。其中提供了针对许多计算机语言的编译器和解释程序。除了C和C ++语言之外,其他可以用于S o l a r i s的语言包括诸如A d a、F o r t r a n、L i s p、P a s c a l以及其他许多标准编程语言。y a c c实用程序生成语法分析代码,使编写读取输入的程序更为简单,而l e x实用程序则生成扫描程序,即识别文本中的词法模式的代码。诸如

m a k e实用程序和G N U的自动配置实用程序(c o n f i g u r e),可以使管理复杂的开发工程更容易,而源代码管理实用程序,例如S C C S,则简化了版本控制过程。d e b u g g e r调试器可以帮助追踪并修改软件错误。l i n t程序可以对C代码进行广泛的检查以使代码具有更好的可移植性,并减少调试时间。这些实用程序和其他软件开发工具在第1 4章中进行讨论,并在第二部分进行了详细说明。除了S o l a r i s工具之外,G N U具有一系列完整的高质量编译器和调试器,并且可以免费使用。具体可参见附录B。

1.4.4 面向屏幕的编辑器和图形化编辑器

面向屏幕的编辑器(例如v i和e m a c s)相对它们以前的行编辑器(例如e d、t e c o)要高级。一个面向屏幕的编辑器可以显示用于编辑的上下文环境:e d编辑器一次只显示一行,v i编辑器则可以显示整屏的文本。用户可以以图形显示的方式在某个终端或在终端仿真器窗口中运行一个面向屏幕的编辑器。

针对某种图形用户界面所设计的编辑器只能运行于图形显示方式之上。S o l a r i s提供了两种图形化编辑器:O p e n L o o k的t e x t e d i t和C D E的d t p a d。本书将首先介绍使用d t p a d来创建和编辑文件,如果用户愿意,也可以先阅读有关t e x t e d i t编辑器的使用指南。这些编辑器要比v i或e m a c s

编辑器更容易学习。这样可以使用户在学习S o l a r i s的过程中,在陷入较复杂编辑器的各种细节而纠缠不清时,可使用这些比较简单易学的编辑器来对文件进行处理。第8章从基本指南到高级的编辑技巧,循序渐进地介绍了如何使用v i编辑器。第9章则专门介绍了e m a c s,这是由G N U/自由软件基金会的Richard Stallman所编写的全能编辑器。

1.4.5 高级电子邮件

选择一种邮件程序基本上是一件个人喜好的事情。S o l a r i s通常使用的流行邮件程序包括d t m a i l、m a i l t o o l、m a i l、p i n e、N e t s c a p e邮件程序、e l m和通过e m a c s所使用的邮件。本书根据邮件程序的普及程度和可用性,提供了d t m a i l、m a i l t o o l和p i n e邮件程序的操作指南。d t m a i l程序常常在C D E环境下使用,而m a i l t o o l则在O p e n L o o k环境下使用。Berkeley Mail程序是第一个具有高级特性的邮件程序。目前许多邮件程序可以允许用户完成以下任务:

? 邮件回复,自动向发出邮件的人回复邮件。

? 使用某种编辑器(例如v i或e m a c s)来撰写、编辑电子邮件。利用图形化邮件程序(d t m a i l和m a i l t o o l),用户在撰写邮件时便可以使用编辑器。

? 当用户使用邮件程序阅读邮件时,可以提供收件箱中所有邮件的概要。

? 自动保存用户发送过的所有电子邮件的副本。

? 创建别名以使发送邮件到一组人时操作更为容易。

? 发送和接收二进制编码消息,包括编译代码、图片、由某个字处理程序所格式化的文档以及使用M I M E(Multipurpose Internet Mail Extensions,多用途的网际邮件扩展协议)标准的音频和视频信息。

? 满足用户需求的自定义功能。

1.5 GNU/FSF

自由软件基金会(F S F)的目标是创建一个与U N I X类似的系统,名为H U R D。他们的这项工程称为G N U(全称为G N U’s Not UNIX)。在编写H U R D的过程中,他们编写了许多非常有用的、可移植性很强的流行实用程序(例如编译器、调试器和编辑器等等)的版本。用户可以在S o l a r i s下运行许多G N U工具(例如GNU C 编译器g c c)。用户既可以得到这些工具的源代码而自行进行编译,也可以得到能立即运行的可执行文件。

G N U软件根据GNU 公用许可协议(GNU Public License Agreement,G P L)的条款来进行分发。根据G P L协议,用户可以对协议中所指定的代码进行复制、修改或重新分发,但是当用户重新分发代码时,必须随代码分发相同的许可协议,使代码和许可协议不可分离。如果用户从因特网上获得一个处于G P L协议规定之下的记账程序的源代码,并对其修改并重新分发该程序的可执行版本,则必须随之分发修改后的源代码和G P L许可协议。由于这种协议与通常的版权规定相反(它是给予用户权限而不是像通常的版权规定那样对用户进行限制),因此称为c o p y l e f t供拷贝。(这一节的内容并不是对G P L的准确解释和说明,它在此只是使用户对G P L有一个基本概念。如果用户希望使用它,可以参考G P L本身的内容。)

1.6 小结

S o l a r i s从以前的U N I X脱胎而成为一种非常流行的操作系统。它可以同时在I n t e l和S u n硬件平台上运行意味着它具有广泛的吸引力。S u n工作站计算机和操作系统以具有网络连接的优越性而著称,这使得许多系统管理员的工作更为简单。另外S o l a r i s操作系统所具有的优秀的编程和开发环境,为程序员和终端用户提供了一个轻松舒适的工作平台。这些原因和其他特点使得S o l a r i s成为一种非常有生命力的U N I X版本。

复习题

1. 什么是多用户系统?它们的成功之处在什么地方?

2. 为什么S o l a r i s能够流行?

3. Solaris是用什么语言编写的?它与U N I X的成功有什么关系?

4. 什么是实用程序?

5. 什么是s h e l l?

6. 用户如何使用实用程序和s h e l l来创建自己的应用程序?

7. 为什么S o l a r i s文件系统称为一个层次化(或树状)文件系统?

8. 多处理器和一个多处理系统之间的区别是什么?

9. 给出一个用户希望使用多处理系统的例子。

10. 有多少人参与编写了U N I X(大概数字)?为什么它是独一无二的?

11. 谁拥有GNU gcc 编译器?GNU 公用许可协议的关键条款是什么?

12. POSIX兼容是什么意思?

13. 说出S o l a r i s所支持的三种标准。

14. 什么使得G N U成为一个不寻常的缩略语?

15. 为什么编写一个U N I X下的病毒程序比编写D O S或M a c i n t o s h操作系统下的病毒程序要困难得多?

16. 什么是宏病毒?什么使得它如此令人讨厌?

相关主题