Unix操作系统介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

UNIX操作系统简介

UNIX发展过程

UNIX系统是美国麻省理工学院(MIT)在1965年开发的分时操作系统

Multics(Multiplexed Information and Computing Service System)的基础上不断演

变而来的,它原是MIT和贝尔实验室等为美国国防部研制的。贝尔实验室的系统程序设计人员汤普逊(Thompson)和里奇(Ritchie)于1969年在 PDP—7计算机上成功地开发了16位微机操作系统。该系统继承了 Multics系统的树形结构、Shel1命令语言和面向过程的结构化设计方法,以及采用高级语言编写操作系统等特点,同时,又摈弃了它的许多不足之处。为了表示它与 Multics 既继承又

背叛的关系,该系统命名为UNIX,UNIX中的 UNI正好与 Multi相对照,表示UNIX系统不像 Multics系统那样庞大和复杂,而 X则是 cs的谐音。

由于当时美国政府禁止AT&T经营计算机业务,所以在整个七十年代,UNIX 没能作为商品进入市场,而主要是提供给学校和科研机构等非赢利单位使用。 1972年, UNIX系统开始移植到 PDP-l l系列机上运行,在1979年,贝尔实验

室又将其移植到类似于 IBM370的32位机上运行,并公布了得到西部电气公司正式承认的 UNIX第七版。在1980年又公布了为 VAX-l l/780计算机编写的操作系统 UNIX32V。在此基础上,加里福尼亚大学伯克利分校同年发表了 VAX-l l型机用的 BSD4.0和 BSD4.1版本。1982年,贝尔实验室又相继公布了 UNIX systems III的3.0、4.0和5.0等版本。它们是对 UNIX32V的改进,但却不同于BSD4.0和 BSD4.1版本。从此, UNIX系统走上了以 AT&T和伯克利分校二者为主的开发道路。例如,1983年 AT&T推出了 UNIX systems V和几种微处理机上的 UNIX操作系统。而伯克利分校公布了 BSD4.2版本。在1986年,UNIX systems V又发展为它的改进版 Res2.1和Res3.0,而 BSD4.2又升级为BSD4.3。

在这种背景下,美国 IEEE组织成立了 POSIX委员会专门进行UNIX的标准化方面的工作。此外,在1988年以 AT&T和 Sun Micro system等公司为代表的UI(UNIX International)和以 DEC、 IBM等公司为代表的 OSF(Open Software Foundation)组织也开始了这种标准化工作。它们对 UNIX的开发工作虽不一样,但它们定义出了 UNIX的统一标准,即可以运行UNIX应用软件的操作系统就是 UNIX。从而统一UNIX系统的关键就变成是否能提供一个标准的用户界面,而不在于其系统内部是如何实现的了。

UNIX的特点

UNIX系统之所以得到如此广泛地应用,是与其特点分不开的。其主要特点表现在:

1. 多用户的分时操作系统,即不同的用户分别在不同的终端上,进行交互式地操作,就好像各自单独占用主机一样。

2. 可移植性好。硬件的发展是极为迅速的,迫使依赖于硬件的基础软件特别是操作系统不断地进行相应的更新。由于UNIX几乎全部是用可移植性很好的C语言编写的,其内核极小,模块结构化,各模块可以单独编译。所以,一旦硬件环境发生变化,只要对内核中有关的模块作修改,编译后与其它模块装配在一起,即可构成一个新的内核,而内核上层完全可以不动。

3. 可靠性强。经过十几年的考验,UNIX系统是一个成熟而且比较可靠的系统。在应用软件出错的情况下,虽然性能会有所下降,但工作仍能可靠进行。

4. 开放式系统,即 UNIX具有统一的用户界面,使得 UNIX用户的应用程序可在不同环境下运行。此外,其核心程序和系统的支持软件大多都用 C语言编写。

5. 它向用户提供了两种友好的用户界面。其一是程序级的界面,即系统调用,使用户能充分利用 UNIX系统的功能,它是程序员的编程接口,编程人员可以直接使用这些标准的实用子程序,例如,对有关设备管理的系统调用read、 write,便可对指定设备进行读写,而 open和close就可打开和关闭指定的设备,对文件系统的调用除 read、 write、 close、 open外,还有创建

( create),删除(unlink)、执行(execl)、控制(fncte)、加锁(flock)、文件状态获取(stat)和安装文件(mount)等。其二是操作级的界面,即命令,它直接面向普通的最终用户,为用户提供交互式功能。程序员可用编程的高级语言直接调用它们,大大减少编程难度和设计时间。可以说,UNIX在这一方面,同时满足了两类用户的需求。

6.具有可装卸的树型分层结构文件系统。该文件系统具有使用方便,检索简单等特点。

7.将所有外部设备都当作文件看待,分别赋予它们对应的文件名,用户可以像使用文件那样使用任一设备,而不必了解该设备的内部特性,这既简化了系统设计又方便了用户的使用。

UNIX的结构

UNIX系统结构可分为三层。如图3.1.1所示。

最内层是 UNIX操作系统核心,它直接依附于硬件层之上,包括文件控制系统和进程控制系统两大部分。这两部分的实现因厂家和版本而异,其程序量大多在几千行到几万行左右。

最外层是用户程序,包括许多应用软件及一些操作系统工具。

中间层则是 Shel1命令解释程序、实用程序、库函数等。该层中的 Shel1解释程序是用户和 UNIX操作系统的操作界面,它相当于DOS系统中的。

SHELL分类

Shell 可以看作是UNIX系统为用户提供的命令解释程序。在 UNIX看来,Shell是用户登录之后 UNIX运行的第一个程序。shell本身就是一个计算机程序,用C语言编写,为协助用户与操作系统之间通讯而设计,管理用户与核心(Kernel)之间对话(因为核心运行在计算机的内部,它不直接与用户打交道),并把操作系统指令换成机器代码。PC用户常用的DOS与此类似,DOS中所有的命令都由解释执行,这儿就相当于UNIX系统中的shell。

除了命令解释器的功能外, shell还是一种强有力的程序设计语言,它具有变量、条件和循环结构等程序设计的基本元素,同时它还提供可剪裁的用户环境以及重定向、管道线等有效而简洁的技术。

现在流行的 Shell有两种类型:即 Bourne Shell(以下简称为B Shell)和 C Shell。要识别所用的 Shell是什么类型,那是比较容易的事情。如果用户登录之后 UNIX显示提示符为$,那么所使用的是B Shell。若显示为%提示符,则为 C Shell。一般来说 Systenl V类的系统总是使用 B Shell,近来由于所有的UNIX版本具有两种 Shell,因此使用哪一种Shell,则由系统管理员来确定。

1. B Shell

它是使用较广泛的 UNIX Shell,它以 Steve Bourne的名字命名,是 Shel1最早的开发者。B Shell用于所有的 UNIX系统中,用$作为提示符,在提示符之后可以输入命令或回车键。几乎所有的 UNIX实现都将B shell作为它们的标准配置的一部分。 B she11比C shell都要小,但执行效率却比C shell高。同时,它不像其他C shell那么复杂,但交互性方面比 C she11差。像所有的UNIX程序一样, B Shell本身也是一个程序,它的名字是 Sh。

原始的 B Shell有几个版本,最著名的是 Bourne Again Shell(也称为 bash)。由于它是免费的,所以不少地方都使用它。

2. C Shell

C Shel1并不是由一个叫 C的人写的,它是由 Bill Joe于1983年写成,是标准BSD(Berkeley System Distribution)命令解释。随着 UNIX系统标准

相关文档
最新文档