操作系统
Operating System
( OS)
徐宗元
浙江大学远程教育学院
教材
? 推荐教材:, 计算机操作系统,, 汤子瀛等, 西安电子科技大学
出版社, 1996年第一版 。
? 参考教材,
1., 操作系统教程,, 陈向群等, 北京大学出版社, 2001年第 1版 。
2., 现代操作系统,, Aadrew S.T著陈向群等译, 机械工业出版
社, 1999年第 1版 。
3.,Windows操作系统原理,, 尤晋元等, 机械工业出版社, 2001。
4,, Operating Systems, Internal and Design Principles”,
William Stallings,清华大学出版社, 1998年第 3版 。
5., Operating System Concepts”,James L。 Peterson,Addison-
Wesley Publishing Company,机械工业出版社, 2001 年第 6版 。
6., 操作系统,, 徐宗元, 高等教育出版社, 2000年第 1版 。
7.,操作系统基础,, 屠祁等, 清华大学出版社, 2000年第 3版 。
OS 网页
? os.cs.tsinghua.edu.cn
? os.pku.edu.cn
? www.ict.accn/chpc/os
? www.bell-labs.com/topic/books/os-book
? www.bell-labs.com/topic/books/aos-book
? www.cs.vu.nl/~ast
摘要幻灯片
? 第一课 操作系统引论
? 第二课 进程的描述和控制
? 第三课 进程的同步和通讯
? 第四课 调度和 死锁
? 第五课 存储器管理
? 第六课 虚拟 存储器
? 第七课 设备管理
? 第八课 文件系统
? 第九课 磁盘 存储器管理
? 第十课 操作系统接口
第一课 操作系统引论
( Introduction of Operation System )
教学目的:
操作系统( OS)是最重要的系统软件,本章
从 OS的作用、发展史、类型、特征和功能等多
方面介绍 OS。
教学要求,
? 熟悉操作系统作用和定义,一般了解 操作系统的历
史 。
? 了解 二类 计算机硬件系统结构, 熟悉现代操作系统
的硬件基础 ——通道和中断。
? 熟练掌握多道程序设计技术的概念,掌握批处理系
统、分时系统及实时系统三种 操作系统基本类型,
了解微机操作系统,网络操作系统和分布式操作系
统。
? 掌握 操作系统 并发性、共享性、虚拟性和异步性等
特征,了解现代操作系统特征,熟悉操作系统功能。
(一)操作系统概述
( 1)操作系统作用
1。从计算机系统组成观点 ―― 操作系统是系统软件
计算机系统组成:
软件, 应用软件
系统软件 (操作系统、语言处理系统和常用
的例行服务程序)
硬件, 输入/输出( I/ O)设备
存储器
处理器
2。从资源管理程序观点 ―― 操作系统是系统资源管理者
( Operating System as a Resource Manager)
? 操作系统是资源管理程序,它用于控制和管理计算
机系统的硬件和软件资源。
? 计算机系统资源,操作系统:
软件,文件系统
硬件,I/ O设备 设备管理
存储器 存储器管理
处理器 处理器(进程)管理
3。从软件分层、扩允机器的观点 ――
操作系统是扩充裸机的第一层系统软件
软件:语言处理程序 虚拟机 2
软件:操作系统 虚拟机 1
硬件(裸机)
虚拟机,二者结合变成了功能更强大使用更方便的机
器。
操作系统是扩展的机器,是虚拟机。
? 固件,为了改善系统的性能,将操作系统中与硬件密
切有关的部分软件,通过微程序设计技术转化为硬件,
也就是通常所说的固化,这些具有软件功能的硬件称
为固件。例如 IBM公司生产的 AS/ 400结构如下:
从软件分层、扩允机器的观点 -1
OS OS/ 4 0 0
3, 1
OS/ 4 0 0
V3 R 6
技术独立机器接口微


特许内码
( L I C )
系统特许内码
( SL I C )
C I SC 指令集 R I SC 指令集硬

C I SC A S/ 4 0 0 R I SC A S/ 4 0 0
4。从服务用户的观点 ――
操作系统是用户与裸机之间接口
用户
操作系统 接口
裸机
? 系统提供的接口有二类:
一类是 作业级接口,它提供一组键盘命令,供用户组织
和控制自己的作业 运行 。
另一类是 程序级接口,它提供一组系统调用,即 OS中某
个模块功能,供用户程序和其它程序调用。( 例 MS-DOS)
5.从进程的观点-- 操作系统是由若干个可以并发执行的
进程和一个对进程进行控制和协调的核心组成。
6。操作系统定义
? 操作系统是一组 有效 控制和管理计算机系统的硬件
和软件资源,合理 地组织计算机工作流程以及 方便
用户的程序集合。
有效,系统效率,资源利用率
(如,CPU利用的充足与否,内存、外部设备是
否忙碌)
合理:
公平与否,如果不公平则会产生, 死锁, 或
,饥饿,
方便:
用户界面
Layers and Views of a
Computer System
End
User
Programmer
Operating-
System
Designer
Computer Hardware
Operating-System
Utilities
Application
Programs
( 2) 操作系统的历史
1。 第 0代( 40年代未- 50年代初)无操作系统
这时的计算机操作是由程序员采用人工操作方式直接
使用计算机硬件系统。
2。第一代( 50年代中- 50年代未)初级单道批处理系统
它是为了减少人工操作时间和作业转换时间提高 CPU
利用率而设计的。系统自动成批处理作业,这是初级单
道批处理系统。
3.第二代( 60年代初- 60年代中)多道程序设计共享系

这一代操作系统包括多道批处理系统、采用交互方式
的分时系统和以提高瞬时响应时间为特征的实时系统。
操作系统的历史
4.第三代( 60年代中- 70年代中)多模式系统
这一代计算机系统是通用系统,这一代操作系统
是多模式系统,即一个系统同时支持批处理、分时
处理、实时处理和多重处理。
5。 第四代( 70年代中- )网络操作系统和分布式操
作系统
网络操作系统实现在计算机网络上进行信息交
换、资源共享和互操作等功能。分布式操作系统将
地域上分散的各系统互连成一个具有整体功能的系
统,并可将一个任务分布地在各系统上运行,实现
分布式处理。
(3)学习操作系统目的
? 为专门用途人们设计、修改、扩充操作系统。例如
操作系统汉化、中文操作系统环境、嵌入式操作系
统开发。
? 大多数计算机部门主要决策者选择操作系统及操作
系统中的选择部分。
? 用户为了完成自己的任务必须与操作系统交往,用
户要了解操作系统提供的人-机接口和计算环境,
在编程中灵活应用进程(线程)。
? 操作系统中所用的许多概念和技巧一般可以应用到
其它领域。
计算 1991教程,ACM/IEEE-CS联合教程专题组的报告
? 这个报告包含计算学科( discipline of computing)本科教
学计划(包括了计算机科学、计算机工程、计算机科学和工
程及其它类似头衔的本科教学计划)的教程的推荐,该报告
把计算学科分为九个主科目领域:
算法与数据结构
系统结构
人工智能和机器人学
数据库和信息检索
人 ---计算机通讯
数值和符合计算
操作系统
程序设计语言
软件方法学和工程
? 每个科目领域都有重要的理论基础、重要的抽象、重要的
设计和实现的成就。
操作系统科目有关课程的关系
高级 (分布式 )操作系统 ( linux) 操作系统结构 ( 分析 )
操作系统原理
Windows
操作系统使用
linux
(二) 计算机硬件系统概述
( 1) 计算机硬件系统结构
1。大、中、小型计算机的硬件组织
这类计算机以存储器为中心,CPU和各种通道都与存储器相连。
返 7
终端
打印





存储器
CPU




2。微型计算机的典型组织
微型计算机是以总线为纽带来构成计算机系统,中央处理机
( CPU)、存储器,I/ O设备(包括外存磁盘、磁带)都挂
接在总线。
返 7
CPU DMA
打印机 终端
存储器 磁盘控制器 打印机控制器 终端控制器
磁盘驱动器
( 2)现代操作系统的硬件基础
1。 多道程序设计( Multiprogramming) 技术
现代计算机系统为了提高计算机资源利用率,采用多道程序
设计技术,它在主存中存放多道用户的作业,计算机系统硬
件支持作业并行操作,使多道作业同时处于运行状态共享系
统资源。 在现代批处理系统中支持并行操作的硬件是通道和
中断。
通道 是可以与 CPU并行操作的专门用来控制输入输出设备数
据传送的处理机。
中断( Interrupts ) 是指 CPU对系统中发生的异步事件的
响应。中断的含义是当这些异步事件发生后,打断了处理机
对当前程序的执行,而转去处理该异步事件,即执行该事件
的中断处理程序,直到处理完了之后,再转向原程序的中断
点执行 。 中断技术的应用范围不断扩大,它使得通道具有中
断主机工作的能力,以支持多道程序设计技术。当 CPU需要输
入数据时,只要发命令给通道去完成,通道进行 I/ O操作和
CPU操作可并行异步执行,在通道完成 I/ O操作后,它用中断
方式向 CPU报告其完成 I/ O情况。
现代操作系统的硬件基础 -1
2。中断一般可分为硬件中断和软件中断二大类 。
硬件中断 又可分为硬件故障中断、输入输出中断和外
部中断。
软件中断 又可分为程序中断(例如定点操作数溢出、
地址越界、虚存管理中缺页等)和访管中断。访管中
断是用户程序在运行中请求操作系统为其提供服务而
执行一条, 访管指令, 所引起的中断,又称软件中断。
在 PDP-11机上访管指令是 tarp指令,在 × 86机上访管
指令是 INT指令。访管中断是进程所期待的,它是自愿
性的中断,又称自愿中断,其它几种中断不是运行进
程所期望的,它属于强迫性中断事件。
(三)操作系统基本类型
( 1)批处理系统( Batch System)
1。 初级单道批处理系统
? 目标:为了解决人工操作(无操作系统)严重降低
了计算机资源的利用率的问题,即解决 CPU等待人工
操作和高速 CPU与低速 I/ O间矛盾等问题。
? 脱机输入输出技术,该技术利用一台外围机,脱
离主机先将低速输入设备(如 纸 带机)的数据,输
入到较高速大容量的输入设备(如磁带)上。
返 7
初级单道批处理系统 -1
纸带机 外围机 磁带机
磁带机








返 7
初级单道批处理系统 -2
批处理技术,它利用磁带容量较大的特点,先将一批
作业按序以脱机方式输入到磁带上。主机在监督程
序控制下,根据卡片机读入控制作业操作信息,逐
个从磁带上读入作业到内存,调入汇编/编释程序
将源程序翻译成目标代码,连接装配后执行,结果
输出打印。执行完毕后再调入下一个作业,系统就
这样自动地一个一个作业地进行处理,直至完成,
这是早期单道批处理系统,它解决了作业自动转换,
从而减少作业建立和人工操作时间。
磁带机
输出磁带
卡片
早期批处理系统
IBM
1401
IBM
7094
IBM
1401
输入磁带








O p e r a t in g S y s t e m
基本控制卡片
是现代作业控制语言和命令解释器的先驱
2。现代多道批处理系统
? 目标:为了进一步提高资源利用率,在硬件采用通
道和中断技术支持并行操作的情况下,引入了多道
程序设计技术,由此引入多道批处理系统。
? 多道程序设计技术,
它是在计算机内存同时存放几道相互独立的程序,
这几道程序都处于运行过程中,它们先后开始了各
自的运行,但都未运行完毕。多道程序在宏观上并
行执行,而在微观上多道程序在某个部件上(如 CPU、
I/ O)是串行,即多道程序轮流地使用部件,交替
执行。一个有一个 CPU和一个 I/ O设备(磁盘)的二
道批处理系统运行情况如下图所示。 (练习 )
现代多道批处理系统 -1
程序 A
程序 B
监督程序
I/O
CPU
运行
中断请求 (陷阱 ) 中断处理
Scheduling
? Bursts of CPU usage alternate with periods of I/O wait
– a CPU-bound process
– an I/O bound (受 I/O束缚 )process
Modeling Multiprogramming
CPU utilization as a function of number of processes in memory
Degree of multiprogramming
Allows the processor to execute another program
while one program must wait for an I/O device.
Run Run
Wait
Time
Wait
Run
A
Run
AWait
Time
Wait
Run
B
Run
B
Multiprogramming or
Multitasking
Example
JOB1 JOB2 JOB3
Type of job Heavy compute Heavy I/O Heavy I/O
Duration 5 min,15 min,10 min.
Memory required 50K 100 K 80 K
Need disk? No No Yes
Need terminal No Yes No
Need printer? No No Yes
Effects of Multiprogramming
Uniprogramming Multiprogramming
Processor use 17% 33%
Memory use 30% 67%
Disk use 33% 67%
Printer use 33% 67%
Elapsed time 30 min,15 min.
Throughput rate 6 jobs/hr 12 jobs/hr
Mean response time 18 min,10 min.
现代多道批处理系统 -2
? SPOOLing技术(假脱机 I/ O或联机 I/ O ):
在现代批处理系统中引入缓冲技术,在外存设置输
入缓冲区 (输入井 )和输出缓冲区(输出井)。同时
又引入 SPOOLing技术,SPOOLing( Simultaneous
Peripheral Operation On Line)是 同时与外围设
备联机操作的技术 。该技术采用通道代替外围机,
它与 CPU并行操作,控制外设完成输入输出任务。在
该系统中用户提交的作业由输入设备经 SPOOLing系
统联机输入到外存磁盘的输入井内,并排成一个后
备作业队列,然后由作业调度程序按一定的算法从
后备队列中选择若干个作业调入内存,它们在内存
中按一定调度规则共享 CPU和系统中各种 I/ O资源,
以达到提高资源利用率和系统吞吐量的目的。
? Spooling系统(技术)
1961年,英国曼彻斯特大学,Atalas机
Simultaneous Peripheral Operation
On-Line
同时的外围设备联机操作 --假脱机技术
利用磁盘作缓冲,将输入、计算、输出分别
组织成独立的任务流,使 I/O和计算真正并

? Spooling系统工作原理
- 作业预先进入到磁盘上的输入井
- 按某种调度策略选择几种搭配得当的作业,
并调入内存
- 作业运行的结果随时输出到磁盘上的输出井
- 再由磁盘上的输出井将结果送到打印机
( 2)分时系统( Time Sharing System)
1。 分时系统原理
? 目标,分时系统的形成和发展的动力是用户的需要。用户
希望自己能直接控制程序的运行及时进行人 -机交互,以便
能方便地修改程序的错误。用户希望一台计算机能为多台
用户共享,解决当时(六十年代)计算机昂贵而缺少的矛
盾,方便用户上机。
? 实现原理,分时系统是指在一台主机上连接了多个带有显
示器和键盘的终端,它同时允许许多用户通过终端以交互
方式使用计算机共享主机中的资源。所谓分时是指多个用
户分时共享使用同一台计算机,也就是说把计算机的系统
资源(尤其是 CPU时间)进行时间上分割,即将整个工作时
间分成一个个的时间片,每个时间片分给一个用户使用,
这样将 CPU工作时间分别提供给多个用户使用,每个用户依
次地轮流使用一个时间片。
主机


2。 分时系统的实现
?采用调进/调出的单道分时系统
在单道分时系统内存中只驻留一道程序,其余
程序都在外存上。每当内存中一个程序运行一个时
间片后,便调至外存(称为调出)。再从外存中选
一个程序装入内存(称为调进)并运行一个时间片,
依此方法使所有的作业都能在一规定的时间内轮流
运行一个时间片,这样便能使所有的用户都能与自
己的作业交互。在多个作业的轮流运行过程中,每
个作业往往可能频繁地调进调出多次,开销大,故
使系统的性能较差。
分时系统的实现 -1
A B C A B C
T = n * q q s T C P U 时 间
分时系统的实现 -2
?基于多道程序设计的多道分时系统
由于现代计算机系统采用大容量内存并采用内存
与磁盘对换技术扩充内存,现代分时系统引入多道
程序设计技术,在内存中存放多道作业排成一个队
列,依次轮流地获得一个时间片来运行。
由于切换作业就在内存,不要花费大量时间用于
调进调出,故多道分时系统具有较好的系统性能。
作业调度算法也不限于时间片不变,次序不变的简
单轮转。象 UNIX操作系统对系统中各进程采用可抢
占的动态优先级调度算法,它也实现了各作业分时
共享计算机,但时间片大小和轮转次序都在变化。
3.分时系统的特征
?多路性,允许在一台主机上同时联接多台联机终端,系
统按分时原则为每个用户服务。宏观上是多个用户同时
工作,共享系统资源,而微观上则是每个用户作业轮流
运行一个时间片。多路性即同时性,它提高了资源利用
率,从而促进了计算机更广泛的应用。
?独立性,每个用户各占一个终端,彼此独立操作,互不
干扰。因此用户会感觉到就象他一人独占主机。
?交互性,用户可通过终端与系统进行广泛的人机对话。
用户可以请求系统提供多方面服务,如文件编辑,数据
处理和资源共享等。
?及时性,用户的请求能在很短时间内获得响应,此时间
间隔是以人们所能接受的等待时间来确定的,通常为 1-
2秒。
4.分时系统的重要指标 ―― 响应时间
? 响应时间是分时系统的重要指标,它是用户发生
终端命令到系统作出响应间的时间间隔。系统的响
应时间主要是根据用户所能接受的等待时间确定的。
假设分时系统中用户数为 n,每个用户的运行时间片
为 q,则系统的响应时间为 T= n× q。每个用户分到
的时间片 q由二部分组成,用于对换时间 S和用于真
正处理时间 T(处理)。
响应时间 -1
? 分时系统中时间片 q的选择是一个复杂和关键的任务,
如时间片选得过大,造成响应时间不变时用户数减
少,或造成响应时间过长,当时间片过小时,在一
个时间片内切换开销相对增加,一个进程相对要花
费更多的时间片才能运行结束,一个进程在系统中
的周转时间大大增长。最佳的时间片值应既能使分
时用户得到好的响应时间,同时又要使在一个时间
片内切换开销相对较小可忽略。 (练习 )
? UNIX系统是典型的分时系统,UNIX系统是一个多用
户,多任务操作系统。
(3)实时系统( Real-Time Systems )
? 目标:为了提高系统的响应时间,对随机发生的外
部事件作出及时响应并对其进行处理。
1,实时系统分类
?实时控制系统
此类实时控制系统主要用于生产过程的自动控制,
实验数据自动采集,武器的控制、包括火炮自动控
制、飞机自动驾驶、导弹的制导系统。
?实时信息处理系统
这类系统主要用于实时信息处理,象飞机订票系
统、情报检索系统。
2。 实时系统特征
?快速的响应时间
实时系统是为了提高系统响应时间而设计的 OS,
特别是实时控制系统,对外部事件的响应要十分及
时迅速。外部事件往往以中断方式通知系统,系统
有较强的中断处理能力,实时系统的设计也以, 事
件驱动, 方式来设计。
实时系统特征 -1
?有限的交互能力
实时系统(如实时信息处息系统)一般是专用系
统,它能提供人机交互方式,但用户只能访问系统
中某些特定的专用服务程序,不能象分时系统一般
向终端用户提供多方面服务。
?高可靠性
批处理系统和分时系统虽也要求系统可靠,相比
之下,实时系统则要求系统高度可靠。因此实时系
统中往都采用双机系统,多级容错措施来保证系统
和数据的安全。
( 练习
(四)操作系统其它类型
( 1)微机操作系统( Desktop Systems)
配置在微机上的 OS称为微机操作系统。常用的微机 OS
有 MS-DOS,MS Windows,OS/2,SCO UNIX,Linux等。
1,单用户单任务操作系统 MS-DOS
MS-DOS是 Microsoft公司开发的首先在 IBM-PC机上
使用的微机 OS,MS-DOS操作系统现成了事实上的 16位
微机单用户单任务操作系统的标准。
2.多 任务操作系统 MS Windows
Windows98/2000是 Microsoft公司开发的一个图形用
户界面的多任务、多线程、全 32位的操作系统。
微机操作系统 -1
3.多 用户 多 任务操作系统 SCO UNIX
SCO公司将运行于大、中、小型机上 UNIX操
作系统移植到微机上,UNIX是多用户多任务操
作系统。
4,Linux
Linux操作系统是一个遵循标准操作系统界面
的标准免费操作系统,具有 UNIX BSD和 UNIX
SYS V的扩展特性。它的版权所有者是芬兰籍
的 Linus B.Toroalds先生和其它开发人员,并
且遵循 GPL声明。
( 2)多处理机 操作系统
(Multiprocessor Operating Systems)
? 计算机发展的历史表明,提高计算机系统性能的主要途径有
两条:一是提高构成计算机系统的元器件的运行速度;二是
改进计算机系统的体系结构。在 70年代出现的多处理机系统
MPS,就是试图从第二个途径上来改善系统性能。
? 引入多处理机系统的原因有以下三点:增加系统的吞吐量。
节省投资。 提高系统的可靠性。
? 多处理机系统的类型(结构),紧密耦合( Tightly
Coupled) MPS。通过高速总线或高速交叉开关来实现多个 处
理机 之间的互连,各处理机共享存储器和 I/O设备。
松散耦合( Loosely Coupled) MPS。通过通道或通信线路来
实现多台 计算机 之间的互连。
? 多处理机 OS的类型(模式):非对称多处理模式
( Asymmetric Multiprocessing Model),又称主 --从模式
( Master--Slive Mode)即把处理机分主、从两类。
对称多处理模式( Symmetric Multiprocessing Model)
( 3)网络操作系统
( Network Operating System,NOS)
1,网络操作系统定义
? 计算机网络可以定义为一些互连的自主计
算机系统的集合,所谓自主计算机是指计算机
具有独立处理能力,而互连则表示计算机之间
能够实现通信和相互合作。
? 按网络所覆盖的地理范围大小可把计算机网络
分成广域网 WAN( Wide Area Network)和局域
网 LAN( Lacal Area Network)两类。
网络操作系统 -1
? 网络操作系统定义为,网络操作系统是使网络上各计算
机能方便地进行网络通信, 有效地共享网络资源,为网
络用户提供所需各种服务的软件和有关规程的集合。
2,网络 OS功能,
?高效、可靠的网络通信
?对网络中共享资源(在 LAN中有硬盘、打印机等)有效
的管理
?提供电子邮件、文件传输、共享硬盘、打印机等服务
?网络安全管理
?提供互操作能力
网络操作系统
网络服务
应用程序
通信软件
(协议支持)
单机
操作系统
用户应用程序
局域网操作系统的结构
通信软件
(协议支持)
3.网络 OS的模式
?客户/服务器 C/ S( Client/Server)模式
客户/服务器的模式是流行的网络工作模式,该种模
式网络可分为以下二大类:
?服务器,它是网络的控制中心,其任务是向客户提供一
种或多种服务,服务器可有多种类型,如提供文件/打
印服务的文件服务器等。
?客户:这是用于本地处理和访问服务器的站点,在客户
中包含了本地处理软件和访问服务器上服务程序的软件
接口。
?对等模式( peer-to-peer)模式
? 采用这种模式的操作系统网络中,各个站点是对等的。
4.现代操作系统特点--内装网络
它既可作为客户去访问其它站点,又可作为服务器向其
它站点提供服务,在网络中既无服务处理中心,也无控
制中心,或者说,网络的服务和控制功能分布在各个站
点上。可见该模式具有分布处理及分布控制的特征。
? 现代操作系统已把网络功能包含到操作系统的内核中,
作为操作系统核心功能的一个组成部分。微软公司的
Windows NT,AT & T公司的 UNIX System V,Sun公司的
SunOS,HP公司的 HP/ OX,IBM公司的 AIX,Linux等都已
把 TCP/ IP网络功能包含在内核中。
? Windows NT把网络功能作为该系统执行体的输入输出
( I/ O)系统的一部分。 NT的 I/ O系统包含有五部分:
输入输出( I/ O)管理程序、文件系统、缓冲存储管理
系统、设备驱动程序、网络驱动程序。( 见图 )
(4)分布式操作系统
( Distributed Operating Systems )
1.分布式 操作系统定义
分布式计算机系统是为分散处理、协同完成任务
而将多个分散的计算机经互连网络连接而成的计算
机系统,分布式操作系统是在它上配置的操作系统。
分布式操作系统是能直接对系统中各类资源进行动
态分配和管理,有效控制和协调诸任务的并行执行,
允许系统中的处理单元无主、次之分,并向系统提
供统一的、有效的接口的软件集合。
它基于两种环境,多处理器 (CPU)系统或多计算机
系统(网络),它是网络操作系统的更高级的形式,
它保持了网络操作系统的全部功能。
(练习 )
2,分布式操作系统与网络操作系统的区别
? 分布性
处理上的分布性是分布式操作系统的最基本特征。
网络虽有分布处理的功能,但网络的控制功能,则
大多集中在某个主机或服务器上,它的控制方式集
中的,分布式系统的处理分布是资源、功能、任务
和控制都是分布的。
? 透明性
分布操作系统负责全系统的资源分配和调度、任
务划分、信息传输协调工作,并 为用户提供一个统
一的界面,标准的接口,用户通过这一界面实现所
需要的操作和使用系统资源。分布式 OS通常很好地
隐藏系统内部的实现细节,如对象的物理位置、并
发控制、系统故障等对用户都是透明的。
分布式操作系统与网络操作系统的区别 -1
? 统一性
分布式系统要求一个统一的操作系统,实现
系统操作的统一性,而网络系统一般是在各自
操作系统基础上加上负责网络访问功能模块,
网络各系统操作不一致。
? 健壮性
由于分布式系统的处理和控制功能是分布的,
设备出现故障时,可通过容错技术实现系统重
构,从而仍保持系统的正常运行,因而系统具
有键壮性,即具有较好的可用性和可靠性。而
网络系统其控制功能大多集中在主机和服务器
中,使系统具有潜在的不可靠性。
(5)嵌入式操作系统( Embedded OS )
? 嵌入式系统是在各种设备、装置或系统中,完成特
定功能的软硬件系统。它们是一个大设备、装置或
系统中的一部分,这个大设备、装置或系统可以不
是“计算机”。通常工作在反应式或对处理时间有
较严格要求环境中,由于它们被嵌入在各种设备、
装置或系统中,因此称为嵌入式系统。
? 嵌入式操作系统的代表 VxWorks
? VxWorks支持各种工业标准,包括 POSIX,ANSI C和
TCP/IP网络协议; VxWorks运行系统的核心是一高
效率的微内核;微内核支持各种实时功能,包括快
速多任务处理,中断支持,抢占式和轮转式调度。
在, 极地登陆者, 号,,深空二号, 和火星气候轨
道器等登陆火星探测器上,就采用了 VxWorks。
嵌入式操作系统的应用
智能卡
移动通信
计算机外设
机顶盒
零售设备
印刷机
复印机 互联网服务器
电话交换设备
(6) 集群系统( Clustered Systems)
? Clustering allows two or more systems to share
storage and ate closely linked via LAN network,
集群允许两个或多个系统共享存储器和通过局域 网
连接。
? Provides high availability (reliability).提供高可靠性
? A layer of Closter software runs on the cluster nodes,
Each node can monitor one or more of the other (over
the LAN).
(五 )操作系统特征和功能
( 1)操作系统特征
( Characteristics of Operating Systems )
? 并发性( Concurrence)
并行性和并发性是既相似又有区别的两个概念。
并行性是指两个或多个事件在同一时刻发生,而并
发性是指两个或多个在同一时间间隔内发生。在多
道程序环境下,并发性是指宏观上在一段时间内有
多道程序在同时执行。但在单处理机系统中,每一
个时刻仅能执行一道程序,故微观上,这些程序是
在交互执行。
操作系统特征 -1
? 共享性( Sharing)
共享是指系统中的所有资源不再为一个程序所独占,
而是供同时存在于系统中的多道程序所共同使用。
根据资源属性不同,可有互斥共享和同时共享两种
不同的共享方式。
并发和共享关系,并发和共享是操作系统的两个最基
本的特性,它们又是互为存在条件。一方面资源共
享是以程序(进程)的并发性执行为条件的,若系
统不允许程序并发执行,自然不存在资源共享问题。
另一方面若系统不能对资源共享实施有效管理,则
也必将影响到程序并发执行。
操作系统特征 -2
? 虚拟性( Virtual)
虚拟是指通过某种技术把一个物理实体变成若是
个逻辑上的对应物。物理实体是实际存在的,是实
的;逻辑物体是用户感觉到的,是虚拟的。例如在
单 CPU多道分时系统中,通过多道程序技术和分时
技术可以把一个物理 CPU虚拟为多台逻辑上的 CPU,
使每个终端用户都认为有一台, 独立, 的 CPU为它
运行,用户感觉的 CPU是虚拟 CPU。
? 异步性( Asynchronism)和不确定性
( nondeterministic)
操作系统特征 -3
在多道程序环境下,允许多个程序并发执行,但由于资
源等因素的限制,程序的执行并非, 一气呵成,,而
是以, 走走停停, 的方式运行,即程序是以异步方式
运行的。多个程序异步并发执行带来了二种不确定性。
一种是每个程序(进程)执行的速度和时间不确定,
各程序(进程)之间推进的序列也不确定。即是不可
预测的。另一种是每个程序(进程)执行结果不确定,
即对同一程序,给定相同的初始条件、在相同的环境
下进行多次执行,却可能获得完全不同的结果,这也
称为程序并发执行的不可再现性。执行结果的不确定
性是绝对不允许的,这是操作系统为实现程序并发执
行必须解决的问题。
(2)现代操作系统特征:
? 微内核结构( Microkernel architecture)
它只把 OS少数基本的功能(包括地址空间、进
程间通信 IPC和基本调度)分配给内核,其它的 OS
服务由称为服务器的进程提供。
? 多线程( Multithreading)
该技术采用执行应用的进程被分为多个能并行运
行的线程。
? 对称多处理机( Symmetric multiprocessing SMP )
? 分布式操作系统 ( Distributed Operating Systems)
? 面向对象设计( Object-oriented design)
( 3)操作系统功能
? 处理机(进程)管理
处理机管理的主要任务是对处理机进行分配,并
对其运行进行有效的控制和管理。在多道程序环境
下,处理机的分配和运行以进程为基本单位,因而
对处理机管理可归纳为对进程的管理。进程管理包
括进程控制、进程同步、进程通信和调度等。
? 存储器的管理
存储器管理的主要任务是为多道程序的运行提供
良好的环境,方便用户使用存储器,提高存储器的
利用率,以及能从逻辑上来扩充内存,为此存储管
理应具有内存分配、内存保护、地址映射和内存扩
充等功能。
操作系统功能 -1
? I/O设备管理
设备管理体制的任务是登记各 I/O设备状态,管理并
完成用户提出的 I/O请求,按一定的策略为用户分配
I/O设备。同时提高 CPU和 I/O设备的利用率,提高 I/O
速度,方便用户使用 I/O设备,为此设备管理应具有缓
冲器管理、设备分配、设备处理及虚拟设备等功能。
? 信息管理(文件系统管理)
计算机系统的软件信息都以文件形式进行管理,操
作系统中负责此任务的部分是文件系统,文件系统的
任务是对用户文件和系统文件进行管理,以方便用户
使用,并保证文件的安全性,为此文件系统管理应具
有对文件存储空间的管理、目录管理、文件共享和保
护等功能。
操作系统功能 -2
? 用户接口
为了方便用户使用 OS,OS向用户提供了
,用户与 OS的接口,,该接口分成二种:一种
是作业级接口,它提供一组键盘命令,供用户
去组织和控制作业的运行。另一种是程序级接
口,它提供一组系统调用供其它程序调用。
(六)例题
例题,( 97年高级程序员试题 2)在有一台处理机 CPU和两
台输入输出设备 IO1和 IO2,且能够实现抢先式多任务并
行工作的多道程序环境内,投入运行优行级由高到低的
P1,P2,P3 三个作业。它们使用设备的先后顺序和占
用设备时间分别是:
作业 P1,IO2(30ms),CPU(10ms),IO1(30ms)、
CPU(10ms)
作业 P2,IO1(20ms),CPU(20ms),IO2(40ms)
作业 P3,CPU(30ms),IO1(20ms)
在控制程序介入时间可以忽略不计的假设下,作业 P1,P2、
P3 从投入到完成所用的时间分别是多少?三个作业从
投入运行到全部完成,CPU,IO1和 IO2的利用率分别是
多少?
例题解,
假设在系统中仅有这三个作业投入运行,各设备的利
用率指该设备的使用时间同作业进程组全部完成所
占用最长时间的比率。 (返 )
例题解,
1。作业调度的方式:
?输入输出设备非抢占方式调度;
?CPU有二种调度的方式:非抢占方式和抢占方式,由
题义决定为抢先式。
2。选择调度作业原则:
?优先权;
?资源( CPU,I/O设备、内存等)满足要求;
3。调度时机:完成一阶段 CPU计算或 I/O。
例题解 -1
从图中可知:
P
1
从投入到完成所用时间 30 + 10 + 30 + 10 = 80 ms
P
2
从投入到完成所用时间 20 + 10 + 10 + 10 + 40 = 90 ms
P
3
从投入到完成所用时间 20 + 30 + 10 + 10 + 20 = 90 ms
CPU 利用率= 70 / 90 = 78 %
IO1 利用率= 70 / 90 = 78 %
IO1 利用率= 70 / 90 = 78 %
CPU P
3
30-
20ms
P
2
20-
10ms
P
1
10ms
P
2
20-
10ms
P
3
3 0 -
10ms
P
1
10ms
IO1 P
2
20ms P
1
30ms P
3
20ms
IO2 P
1
30ms P
2
40ms
0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0
作业 题,
1.操作系统是一种 ﹎﹎ A﹎﹎, 在操作系统中采用多道程序设计
方式能提高 CPU和外部设备的 ﹎﹎ B﹎﹎ 。 一般来说, 为了实
现多道程序设计, 计算机需要有 ﹎﹎ C﹎﹎ 。
A,(1)通用软件; (2)系统软件; (3)应用软件; (4) 软件包 。
B,(1)利用效率; (2)可靠性; (3)稳定性; (4)兼容性 。
C,(1)更大的内存; (2)更快的外部设备; (3)更快的 CPU; (4)
更先进的终端; (解 )
2.分时系统中, 为使多个用户能够同时与系统交互, 最关键的
问题是 ﹎﹎ A﹎﹎, 当用户数目为 100时, 为保证响应不超过 2
秒;此时的时间片最大应为 ﹎﹎ B﹎﹎ 。
A,(1)计算机具有足够的运行速度; (2)内存容量应足够大; (3)
系统能及时地接收多个用户输入; (4)能在一短的时间内, 使
所有用户程序都能运行; (5)能快速进行内外存对换 。
B,(1)10ms; (2)20ms; (3)50ms; (4)100ms; (5)200ms。 (解 )
作业 题 -1
3.在设计分时操作系统时,首先要考虑的是 ﹎﹎ A﹎﹎ ;
在设计实时操作系统时,首先要考虑的是 ﹎﹎ B﹎﹎ ;
在设计批处理系统时,首先要考虑的是 ﹎﹎ C﹎﹎ 。
A,B,C,(1)灵活性和可适应性; (2)交互性和响应时间;
(3)周转时间和系统吞吐量; (4)实时性和可靠性。
4,试从目标、多路性、独立性、交互性、及时性和可靠
性多方面来比较批处理系统、分时系统及实时系统。
通过比较,请写出这三种系统各适用于什么场合。
( 解 )
5,什么是多道程序设计? 实现多道程序设计的计算机需
要那些必不可少的硬件支持? 采用多道程序设计会带
来什么好处?
6,操作系统的基本特征是什么? 并说明它们之间的关系 。
作业 题 -2
7.为了提高计算机的处理机和外部设备的利用率, 把多个程序
同时放入主存储器, 在宏观上并行运行是 ﹎﹎ A﹎﹎ ;把一个
程序划分成若干个同时执行的程序模块的设计方法是 ﹎﹎ B﹎
﹎ ;多个用户在终端设备上的交互方式输入, 排错和控制其
程序的运行是 ﹎﹎ C﹎﹎ ;由多个计算机组成的一个系统, 这
些计算机之间可以通信来交换信息, 互相之间无主次之分,
它们共享系统资源, 程序由系统中的全部或部分计算机协同
执行, 管理上述计算机系统的操作系统是 ﹎﹎ D﹎﹎ ;有一类
操作系统的系统响应时间的重要性超过系统资源的利用率,
它被广泛地应用于卫星控制, 导弹发射, 飞机飞行控制, 飞
机订票业务等领域是 ﹎﹎ E﹎﹎ 。
A--E,① 分时 OS ② 实时 OS ③ 批处理系统 ④ 网络 OS
⑤ 分布式 OS ⑥ 单用户 OS ⑦ 多重程序设计 ⑧
多道程序设计 ⑨ 并发程序设计 (解 )