1 / 63
文档名称:

计算机操作系统(下).doc

格式:doc   大小:2,747KB   页数:63页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机操作系统(下).doc

上传人:xinsheng2008 2018/2/28 文件大小:2.68 MB

下载得到文件列表

计算机操作系统(下).doc

文档介绍

文档介绍:CH13 操作系统 UNIX
UNIX 操作系统概述
UNIX 系统的结构
UNIX 是一个通用的、多用户分时、交互型的操作系统,是美国贝尔实验室的汤普
逊(K. Thompson)和里奇(D. M. Ritchie)于 70 年代初共同研制成功的。在经历了开
发、发展、不断完善和广泛应用的过程之后,影响日益扩大。目前,UNIX 系统已经成
为世界上最为著名的分时操作系统之一,我们这里介绍的,是以 PDP-11/40 机上的
第六版为依据。UNIX 系统的结构,可如图 13-1 示,下面对此做些说明。
图 13-1 UNIX 系统结构示意图
(1) UNIX 系统基本上可分成核心与核外程序两部分,通常说的 UNIX 操作系统
多是指核心程序,它大致由存储管理、进程管理、设备管理和文件系统管理等几部分
组成。进程管理可以进一步分成高级进程管理和低级进程管理两部分。前者主要包
括:进程创建、终止;进程间的高级通信;进程在内、外存之间的转移;信号机构和
进程间的跟踪控制等。后者主要包括:进程调度;进程间的低级通信机构等。
(2) 由于 UNIX 产生于七十年代,当时才刚刚开始进行结构程序设计方法的研究,
13-300
因此 UNIX 系统的结构并不是很理想的,它的整个核心属于模块结构,模块间的关系
极为复杂。不过由于设计者具有的丰富经验,悉心研究和精心构思,使得核心程序不
光代码紧凑,系统效率高,而且对模块间的关系做了较好的处置和安排, 以从模块
间的调用关系上看,除某些模块外,大多数模块之间仍然可以划分成一定的层次。譬
如从图 1 可以看出,文件系统的大部分模块都在设备管理的上面,而设备管理又处在
存储管理之上。
(3) UNIX 操作系统源程序由三大部分组成:
l C 语言程序文件;
l C 语言全局变量和符号常数文件;
l 汇编语言程序文件。
每个 C 语言程序文件包括若干个子程序,这些文件都可以独立编译,UNIX 操作
系统具有的功能基本上由这些文件反映出来。C 语言全局变量和符号常数文件中包
含有 UNIX 操作系统使用的重要数据结构的说明,它与 C 语言程序文件的区别在于它
不能单独编译,只能和 C 语言文件一起编译。汇编语言程序文件大约有 1000 条左右的
汇编语句,大部分反映了与机器硬件直接关联的功能,也有的是为追求系统效率而设
置的。
(4) 如果把 UNIX 核心看作是分层的,那么核心的最外层是"系统调用"。系统调
用命令是 UNIX 向用户提供的第一种界面——面向用户程序的界面,即用户在编写程
序时可以使用的界面,这是用户程序获得操作系统为其服务的必由和唯一的途径。
很多操作系统也都为用户提供系统调用这种界面,但这只能做到汇编语言这一级
上(即用户在编写汇编语言源程序时,可在源程序中使用操作系统提供的系统调用命
令)。但是 UNIX 不仅在汇编语言,而且也在程序设计语言 C 中向用户提供这种界面,
用户可以把系统调用命令视为 C 语言的一部分去加以应用,去编写自己的 C 语言源程
序。
(5) UNIX 是一个多用户分时、交互式的操作系统,用户会经常通过终端发出命令
与系统进行交往:一方面控制自己的作业在系统中的运行,另一方面也可对系统采取
的某些动作作出及时地响应。这种要求操作系统进行某种工作的通信语言,在 UNIX
系统中形成了向用户提供的第二种界面——面向用户终端的界面,即命令语言 shell。
UNIX 系统提供的 shell,不仅是一种键盘命令语言,而且也含有多高级语言具备
的复杂的控制结构与变量运算能力。因此,用户除了能使用 shell 在终端上与 UNIX 系
统会话,直接参与管理和控制计算机工作, 可以把它做为一种程序设计语言,用来
编写出谓的 shell 过程,以文件形式存入系统,需要时经 shell 调入内存,按用户进
程的形式执行。一般地,把 shell 提供的界面简称为用户界面,把系统调用命令提供的
界面简称为系统调用。
UNIX 系统的运行描述
如图 13-2,在 UNIX 系统生成后,系统的有程序都是以文件的形式存放在磁盘
上,系统开始初启,引导程序把系统的核心(UNIX 操作系统)放入内存空间的低地址
部分,随之初启程序为系统建立起进程 0。
进程 0 是系统调度进程,其主要任务是负责把在盘上的准备运行的有进程换入
内存。
进程 1 是系统初启时由进程 0 创建的。随之,它为每一个终端建立一个相应的 shell
13-301
进程,这些进程都执行 shell 命令解释程序。每个终端的 shell 进程都等待用