2009-7-19 1
操作系统
Operating System( OS)
赵文清
E_Mail:WQ_ZHAO@NCEPU.EDU.CN
华北电力大学计算机系
2009-7-19 计算机操作系统 1.2
教材
1.教材,
,计算机操作系统,,汤子瀛等,西安电子科技大学出版社,1996年第一版 。
2.参考教材,
,操作系统基础,,屠祁等,清华大学出版社,
2000年第三版 。
,现代操作系统,,Aadrew S.T著陈向群等译,机械工业出版社,1999年第一版 。
,操作系统,,徐宗元,高等教育出版社,2000年第一版 。
,Operating System Concepts”,James L 。
Peterson,Addison-Wesley Publishing Company,
2001 年第 6版 。
2009-7-19 计算机操作系统 1.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
2009-7-19 计算机操作系统 1.4
摘要
第一章 操作系统引论
第二章 进程的描述和控制
第三章 进程的同步和通讯
第四章 调度和死锁
第五章 存储器管理
第六章 虚拟存储器
第七章 设备管理
第八章 文件系统
第九章 磁盘存储器管理
第十章 操作系统接口
2009-7-19 计算机操作系统 1.5
第一章 操作系统概述教学目的:
操作系统( OS)是最重要的系统软件,本章从 OS的作用、发展史、类型、特征和功能等多方面介绍 OS。
教学要求,
熟悉操作系统作用和定义,一般了解 操作系统的历史 。
了解 二类 计算机硬件系统结构,熟悉现代操作系统的硬件基础 —— 通道和中断。
熟练掌握多道程序设计技术的概念,掌握批处理系统、分时系统及实时系统三种 操作系统基本类型,了解微机操作系统、
网络操作系统和分布式操作系统。
掌握 操作系统 并发性、共享性、虚拟性和异步性等 特征,了解现代操作系统特征,熟悉操作系统功能。
2009-7-19 计算机操作系统 1.6
引言操作系统地位操作系统是系统软件计算机系统组成:
软件,应用软件系统软件 (操作系统、语言处理系统和常用的例行服务程序)
硬件,输入/输出( I/ O)设备存储器( MEMORY)
处理器( CPU)
2009-7-19 计算机操作系统 1.7
例:学会如何开汽车。
OS是硬件基础上的第一层软件,是其它软件和硬件的接口。
DBMS,PASCAL
OS
裸机
2009-7-19 计算机操作系统 1.8
1,1操作系统的定义、目标和作用
1。操作系统定义:
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合,这些程序模块能以尽量有效合理方式管理计算机系统的硬件和软件资源、合理地组织计算机工作流程,控制持续的执行并向用户提供各种服务功能,使得用户能够灵活,方便,有效地使用计算机,使整个计算机系统能够高效地运行。
2009-7-19 计算机操作系统 1.9
2。操作系统的目标
( 1)方便性
a.用户可通过良好的用户界面来操作 /使用计算机( DOS命令,WINDOWS图标)。
b.机器只识别 0/1代码,如未配置 OS,用户只能用机器语言书写程序。 BUT,PASCAL语言编写程序 — 编译 — 调用 OS命令 — 运行。
c,DRIVER( I/O DEVICES)
( 2)有效性
a.系统效率(如 CPU用的充足与否)。
b.资源利用率(如内存,I/O设备是否忙碌,OS
可标示某设备情况异常,统一管理。磁盘整理。)
2009-7-19 计算机操作系统 1.10
2。操作系统的目标
( 3)可扩充性
IT技术迅速发展,OS应采用模块化结构,象积木一样,可增加修改。
( 4)开放性使用不同厂家的计算机,设备拿有效地协同工作,实现应用程序的可移植性和互操作性。
EXAMPLE,UNIX对于 C语言编制的程序可以直接使用,可移植性好。几十万条指令的程序改动千条左右即可。
2009-7-19 计算机操作系统 1.11
3 操作系统的作用
( 1)从资源管理观点 ―操作系统是系统资源管理者
( Operating System as a Resource Manager)
操作系统是资源管理程序,它用于控制和管理计算机系统的硬件和软件资源。
计算机系统资源,操作系统:
软件,文件系统硬件,I/ O设备 设备管理存储器 存储器管理处理器 处理器(进程)管理
2009-7-19 计算机操作系统 1.12
( 2)从软件分层、扩允机器的观点 ――
操作系统是扩充裸机的第一层系统软件软件:语言处理程序 虚拟机 2
软件:操作系统 虚拟机 1
硬件(裸机)
虚拟机,二者结合变成了功能更强大使用更方便的机器
固件,为了改善系统的性能,将操作系统中与硬件密切有关的部分软件,通过微程序设计技术转化为硬件,也就是通常所说的固化,这些具有软件功能的硬件称为固件。例如 IBM
公司生产的 AS/ 400结构如下:
2009-7-19 计算机操作系统 1.13
从软件分层、扩允机器的观点 -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
2009-7-19 计算机操作系统 1.14
( 3)从服务用户的观点 ―― 操作系统是用户与裸机之间接口用户操作系统 接口裸机系统提供的接口有二类:
一类是 命令接口,它提供一组键盘命令,供用户组织和控制自己的作业 运行 。(如 DOS输入指令 -识别后 -内部 OS模块 -操作完成)
另一类是 程序级接口,它提供一组系统调用,即 OS
中某个模块功能,供用户程序和其它程序调用。()
WINDOWS的窗口,VC,VB调用)( 例 MS-DOS)
2009-7-19 计算机操作系统 1.15
Layers and Views of a
Computer System
End
User
Programmer
Operating-
System
Designer
Computer Hardware
Operating-System
Utilities
Application
Programs
2009-7-19 计算机操作系统 1.16
第二节 操作系统的发展过程
1。 第 0代( 40年代未- 50年代初)无操作系统这时的计算机操作是由程序员采用人工操作方式直接使用计算机硬件系统。
2。第一代( 50年代中- 50年代未)初级单道批处理系统它是为了减少人工操作时间和作业转换时间提高 CPU利用率而设计的。系统自动成批处理作业,这是初级单道批处理系统。
3.第二代( 60年代初- 60年代中)多道程序设计共享系统这一代操作系统包括多道批处理系统、采用交互方式的分时系统和以提高瞬时响应时间为特征的实时系统。
2009-7-19 计算机操作系统 1.17
操作系统的发展过程
4.第三代( 60年代中- 70年代中)多模式系统
这一代计算机系统是通用系统,这一代操作系统是多模式系统,即一个系统同时支持批处理、分时处理、实时处理和多重处理。
5。第四代( 70年代中- )网络操作系统和分布式操作系统
网络操作系统实现在计算机网络上进行信息交换、资源共享和互操作等功能。分布式操作系统将地域上分散的各系统互连成一个具有整体功能的系统,并可将一个任务分布地在各系统上运行,实现分布式处理。
2009-7-19 计算机操作系统 1.18
学习操作系统目的
为专门用途人们设计、修改、扩充操作系统。例如操作系统汉化、中文操作系统环境、嵌入式操作系统开发。
大多数计算机部门主要决策者选择操作系统及操作系统中的选择部分。
用户为了完成自己的任务必须与操作系统交往,用户要了解操作系统提供的人-机接口,在编程中灵活应用进程
(线程)。
操作系统中所用的许多概念和技巧一般可以应用到其它领域。
2009-7-19 计算机操作系统 1.19
补:计算机硬件系统概述
( 1) 计算机硬件系统结构
1。大、中、小型计算机的硬件组织这类计算机以存储器为中心,CPU和各种通道都与存储器相连。
返 7
终端打印机多路通道存储器
CPU
选择通道
2009-7-19 计算机操作系统 1.20
2。微型计算机的典型组织微型计算机是以总线为纽带来构成计算机系统,中央处理机
( CPU)、存储器,I/ O设备(包括外存磁盘、磁带)都挂接在总线。
返 7
CPU DMA
打印机 终端存储器 磁盘控制器 打印机控制器 终端控制器磁盘驱动器
2009-7-19 计算机操作系统 1.21
( 2)现代操作系统的硬件基础
1。 多道程序设计( Multiprogramming) 技术现代计算机系统为了提高计算机资源利用率,采用多道程序设计技术,它在主存中存放多道用户的作业,计算机系统硬件支持作业并行操作,使多道作业同时处于运行状态共享系统资源。 在现代批处理系统中支持并行操作的硬件是通道和中断。
通道 是可以与 CPU并行操作的专门用来控制输入输出设备的处理机。
中断( Interrupts ) 是指 CPU对系统中发生的异步事件的响应。中断的含义是当这些异步事件发生后,打断了处理机对当前程序的执行,而转去处理该异步事件,即执行该事件的中断处理程序,直到处理完了之后,再转向原程序的中断点执行 。 中断技术的应用范围不断扩大,它使得通道具有中断主机工作的能力,以支持多道程序设计技术。当 CPU需要输入数据时,只要发命令给通道去完成,通道进行 I/ O操作和
CPU操作可并行异步执行,在通道完成 I/ O操作后,它用中断方式向 CPU报告其完成 I/ O情况。
2009-7-19 计算机操作系统 1.22
现代操作系统的硬件基础 -1
2。中断一般可分为硬件中断和软件中断二大类 。
硬件中断 又可分为硬件故障中断、输入输出中断和外部中断。
软件中断 又可分为程序中断(例如定点操作数溢出、
地址越界、虚存管理中缺页等)和访管中断。访管中断是用户程序在运行中请求操作系统为其提供服务而执行一条,访管指令,所引起的中断,又称软件中断。
在 PDP-11机上访管指令是 tarp指令,在 × 86机上访管指令是 INT指令。访管中断是进程所期待的,它是自愿性的中断,又称自愿中断,其它几种中断不是运行进程所期望的,它属于强迫性中断事件。
2009-7-19 计算机操作系统 1.23
第三节 操作系统基本类型
( 1)批处理系统
1。 初级单道批处理系统
目标:为了解决人工操作(无操作系统)严重降低了计算机资源的利用率的问题,即解决 CPU等待人工操作和高速 CPU与低速 I/ O间矛盾等问题。
脱机输入输出技术,该技术利用一台外围机,脱离主机先将低速输入设备(如 纸 带机)的数据,输入到较高速大容量的输入设备(如磁带)上。
纸带机 外围机 磁带机磁带机卡片机主机打印机 返 7
2009-7-19 计算机操作系统 1.24
初级单道批处理系统 -1
批处理技术,它利用磁带容量较大的特点,先将一批作业按序以脱机方式输入到磁带上。主机在监督程序控制下,根据卡片机读入控制作业操作信息,逐个从磁带上读入作业到内存,调入汇编/编释程序将源程序翻译成目标代码,连接装配后执行,结果输出打印。执行完毕后再调入下一个作业,
系统就这样自动地一个一个作业地进行处理,直至完成,这是早期单道批处理系统,它解决了作业自动转换,从而减少作业建立和人工操作时间。
2009-7-19 计算机操作系统 1.25
2。现代多道批处理系统
目标:为了进一步提高资源利用率,在硬件采用通道和中断技术支持并行操作的情况下,引入了多道程序设计技术,由此引入多道批处理系统。
多道程序设计技术,
它是在计算机内存同时存放几道相互独立的程序,这几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。多道程序在宏观上并行执行,而在微观上多道程序在某个部件上(如 CPU,I/ O)是串行,即多道程序轮流地使用部件,交替执行。一个有一个 CPU和一个 I/ O设备
(磁盘)的二道批处理系统运行情况如下图所示。 (练习 )
2009-7-19 计算机操作系统 1.26
现代多道批处理系统 -1( p7 图 1-5)
程序 A
程序 B
监督程序
I/O
CPU
运行
2009-7-19 计算机操作系统 1.27
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
2009-7-19 计算机操作系统 1.28
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
2009-7-19 计算机操作系统 1.29
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.
2009-7-19 计算机操作系统 1.30
现代多道批处理系统 -2
SPOOLing技术(假脱机 I/ O或联机 I/ O ):
在现代批处理系统中引入缓冲技术,在外存设置输入缓冲区
(输入井 )和输出缓冲区(输出井)。同时又引入 SPOOLing技术,SPOOLing( Simultaneous Peripheral Operation On
Line)是 在联机情况下实现的同时与外围设备联机操作的技术 。该技术采用通道代替外围机,它与 CPU并行操作,控制外设完成输入输出任务。在该系统中用户提交的作业由输入设备经 SPOOLing系统联机输入到外存磁盘的输入井内,并排成一个后备作业队列,然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,它们在内存中按一定调度规则共享 CPU和系统中各种 I/ O资源,以达到提高资源利用率和系统吞吐量的目的。
一个多道程序调度运行 范例 见后:
2009-7-19 计算机操作系统 1.31
( 2) 分时系统( Time Sharing System)
1.分时系统原理
目标,分时系统的形成和发展的动力是用户的需要。用户希望自己能直接控制程序的运行及时进行人 -机交互,以便能方便地修改程序的错误。用户希望一台计算机能为多台用户共享,解决当时(六十年代)计算机昂贵而缺少的矛盾,方便用户上机。(结合我校 80年代末 VAX机)
实现原理,分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,它同时允许许多用户通过终端以交互方式使用计算机共享主机中的资源。所谓分时是指多个用户分时共享使用同一台计算机,也就是说把计算机的系统资源(尤其是 CPU时间)进行时间上分割,即将整个工作时间分成一个个的时间片,每个时间片分给一个用户使用,
这样将 CPU工作时间分别提供给多个用户使用,每个用户依次地轮流使用一个时间片。
2009-7-19 计算机操作系统 1.32
2.分时系统的实现
采用调进/调出的单道分时系统在单道分时系统内存中只驻留一道程序,其余程序都在外存上。每当内存中一个程序运行一个时间片后,
便调至外存(称为调出)。再从外存中选一个程序装入内存(称为调进)并运行一个时间片,依此方法使所有的作业都能在一规定的时间内轮流运行一个时间片,这样便能使所有的用户都能与自己的作业交互。
在多个作业的轮流运行过程中,每个作业往往可能频繁地调进调出多次,开销大,故使系统的性能较差。
2009-7-19 计算机操作系统 1.33
分时系统的实现 -1
基于多道程序设计的多道分时系统由于现代计算机系统采用大容量内存并采用内存与磁盘对换技术扩充内存,现代分时系统引入多道程序设计技术,在内存中存放多道作业排成一个队列,依次轮流地获得一个时间片来运行。
由于切换作业就在内存,不要花费大量时间用于调进调出,故多道分时系统具有较好的系统性能。作业调度算法也不限于时间片不变,
次序不变的简单轮转。象 UNIX操作系统对系统中各进程采用可抢占的动态优先级调度算法,
它也实现了各作业分时共享计算机,但时间片大小和轮转次序都在变化。
2009-7-19 计算机操作系统 1.34
3.分时系统的特征
多路性,允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。宏观上是多个用户同时工作,共享系统资源,而微观上则是每个用户作业轮流运行一个时间片。多路性即同时性,它提高了资源利用率,从而促进了计算机更广泛的应用。
独立性,每个用户各占一个终端,彼此独立操作,互不干扰。
因此用户会感觉到就象他一人独占主机。
交互性,用户可通过终端与系统进行广泛的人机对话。用户可以请求系统提供多方面服务,如文件编辑,数据处理和资源共享等。
及时性,用户的请求能在很短时间内获得响应,此时间间隔是以人们所能接受的等待时间来确定的,通常为 1-2秒。
2009-7-19 计算机操作系统 1.35
4.分时系统的重要指标 ―― 响应时间
响应时间是分时系统的重要指标,它是用户发生终端命令到系统作出响应间的时间间隔。系统的响应时间主要是根据用户所能接受的等待时间确定的。假设分时系统中用户数为
n,每个用户的运行时间片为 q,则系统的响应时间为 T=
n× q。每个用户分到的时间片 q由二部分组成,用于对换时间 S和用于真正处理时间 T(处理)。
分时系统中时间片 q的选择是一个复杂和关键的任务,如时间片选得过大,造成响应时间不变时用户数减少,或造成响应时间过长,当时间片过小时,在一个时间片内切换开销相对增加,一个进程相对要花费更多的时间片才能运行结束,
一个进程在系统中的周转时间大大增长。最佳的时间片值应既能使分时用户得到好的响应时间,同时又要使在一个时间片内切换开销相对较小可忽略。 (练习 )
UNIX系统是典型的分时系统,UNIX系统是一个多用户,多任务操作系统。
2009-7-19 计算机操作系统 1.36
(3)实时系统
目标:为了提高系统的响应时间,对随机发生的外部事件作出及时响应并对其进行处理。
1,实时系统分类
实时控制系统此类实时控制系统主要用于生产过程的自动控制,
实验数据自动采集,武器的控制、包括火炮自动控制、
飞机自动驾驶、导弹的制导系统。电厂 DCS系统。
实时信息处理系统这类系统主要用于实时信息处理,象飞机订票系统、
情报检索系统、股票交易系统。
2009-7-19 计算机操作系统 1.37
2。 实时系统特征
快速的响应时间实时系统是为了提高系统响应时间而设计的 OS,特别是实时控制系统,对外部事件的响应要十分及时迅速。外部事件往往以中断方式通知系统,系统有较强的中断处理能力,实时系统的设计也以,事件驱动,方式来设计。
有限的交互能力实时系统(如实时信息处息系统)一般是专用系统,它能提供人机交互方式,但用户只能访问系统中某些特定的专用服务程序,不能象分时系统一般向终端用户提供多方面服务。
高可靠性批处理系统和分时系统虽也要求系统可靠,相比之下,实时系统则要求系统高度可靠。因此实时系统中往都采用双机系统,多级容错措施来保证系统和数据的安全。
( 练习
2009-7-19 计算机操作系统 1.38
操作系统其它类型
( 1)微机操作系统配置在微机上的 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位的操作系统。
2009-7-19 计算机操作系统 1.39
微机操作系统 -1
3.多 用户 多 任务操作系统 SCO UNIX
SCO公司将运行于大、中、小型机上 UNIX操作系统移植到微机上,UNIX是多用户多任务操作系统。
4,Linux
Linux操作系统是一个遵循标准操作系统界面的标准免费操作系统,具有 UNIX BSD和 UNIX SYS V的扩展特性。它的版权所有者是芬兰籍的 Linus B.Toroalds先生和其它开发人员,并且遵循 GPL声明。
2009-7-19 计算机操作系统 1.40
( 2)网络操作系统
( Network Operating System,NOS)
1,网络操作系统定义
计算机网络可以定义为一些互连的自主计算机系统的集合,所谓自主计算机是指计算机具有独立处理能力,而互连则表示计算机之间能够实现通信和相互合作。
按网络所覆盖的地理范围大小可把计算机网络分成广域网 WAN( Wide Area Network)和局域网 LAN( Lacal
Area Network)两类。
网络操作系统定义为,网络操作系统是使网络上各计算机能方便地进行网络通信,有效地共享网络资源,
为网络用户提供所需各种服务的软件和有关规程的集合。
2009-7-19 计算机操作系统 1.41
网络操作系统 -1
2,网络 OS功能,
高效、可靠的网络通信
对网络中共享资源(在 LAN中有硬盘、打印机等)有效的管理
提供电子邮件、文件传输、共享硬盘、打印机等服务
网络安全管理
提供互操作能力
2009-7-19 计算机操作系统 1.42
3.网络 OS的模式
客户/服务器 C/ S( Client/Server)模式客户/服务器的模式是流行的网络工作模式,该种模式网络可分为以下二大类:
服务器,它是网络的控制中心,其任务是向客户提供一种或多种服务,服务器可有多种类型,如提供文件/打印服务的文件服务器等。
客户:这是用于本地处理和访问服务器的站点,在客户中包含了本地处理软件和访问服务器上服务程序的软件接口。
对等模式( peer-to-peer)模式采用这种模式的操作系统网络中,各个站点是对等的。
它既可作为客户去访问其它站点,又可作为服务器向其它站点提供服务,在网络中既无服务处理中心,也无控制中心,或者说,网络的服务和控制功能分布在各个站点上。
可见该模式具有分布处理及分布控制的特征。
2009-7-19 计算机操作系统 1.43
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)管理程序、文件系统、缓冲存储管理系统、设备驱动程序、网络驱动程序。( 见图 )
2009-7-19 计算机操作系统 1.44
(3)分布式操作系统
1.分布式 操作系统定义分布式计算机系统是为分散处理、协同完成任务而将多个分散的计算机经互连网络连接而成的计算机系统,分布式操作系统是在它上配置的操作系统。分布式操作系统是能直接对系统中各类资源进行动态分配和管理,有效控制和协调诸任务的并行执行,允许系统中的处理单元无主、次之分,并向系统提供统一的、
有效的接口的软件集合。
(练习 )
2009-7-19 计算机操作系统 1.45
2,分布式操作系统与网络操作系统的区别
分布性处理上的分布性是分布式操作系统的最基本特征。网络虽有分布处理的功能,但网络的控制功能,则大多集中在某个主机或服务器上,它的控制方式集中的,
分布式系统的处理分布是资源、功能、任务和控制都是分布的。
透明性分布操作系统负责全系统的资源分配和调度、任务划分、信息传输协调工作,并 为用户提供一个统一的界面,标准的接口,用户通过这一界面实现所需要的操作和使用系统资源。分布式 OS通常很好地隐藏系统内部的实现细节,如对象的物理位置、并发控制、系统故障等对用户都是透明的。
2009-7-19 计算机操作系统 1.46
分布式操作系统与网络操作系统的区别 -1
统一性分布式系统要求一个统一的操作系统,实现系统操作的统一性,而网络系统一般是在各自操作系统基础上加上负责网络访问功能模块,网络各系统操作不一致。
健壮性由于分布式系统的处理和控制功能是分布的,设备出现故障时,可通过容错技术实现系统重构,从而仍保持系统的正常运行,因而系统具有键壮性,即具有较好的可用性和可靠性。而网络系统其控制功能大多集中在主机和服务器中,使系统具有潜在的不可靠性。
2009-7-19 计算机操作系统 1.47
第四节 操作系统特征
( 1)操作系统特征
( Characteristics of Operating Systems )
并发性( Concurrence)
并行性( parallel)和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生,而并发性是指两个或多个在同一时间间隔内发生。在多道程序环境下,
并发性是指宏观上在一段时间内有多道程序在同时执行。但在单处理机系统中,每一个时刻仅能执行一道程序,故微观上,这些程序是在交互执行。
例,WINDOWS98中同时打开钟表和计算器 — 并发为使程序能并发执行,必须分别为每个程序建立进程。
进程:又称为任务,是系统中独立运行并作为资源分配的基本单位。
2009-7-19 计算机操作系统 1.48
共享性( Sharing):内存中多个并发执行的进程共同使用系统资源。
共享是指系统中的所有资源不再为一个程序所独占,
而是供同时存在于系统中的多道程序所共同使用。
根据资源属性不同,可有互斥共享和同时共享两种不同的共享方式。
互斥共享:一段时间内只允许一个进程访问该资源。
(打印机)
临界资源:一段时间内只允许一个进程访问的资源。
同时共享:一段时间内允许多个进程同时访问该资源。
(磁盘)宏观,同时,,微观,交替,。
2009-7-19 计算机操作系统 1.49
操作系统特征 -1
并发和共享关系,并发和共享是操作系统的两个最基本的特性,它们又是互为存在条件。一方面资源共享是以程序
(进程)的并发性执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题。另一方面若系统不能对资源共享实施有效管理,则也必将影响到程序并发执行。
虚拟性( Virtual)
虚拟是指通过某种技术把一个物理实体变成若是个逻辑上的对应物。物理实体是实际存在的,是实的;逻辑物体是用户感觉到的,是虚拟的。例如在单 CPU多道分时系统中,
通过多道程序技术和分时技术可以把一个物理 CPU虚拟为多台逻辑上的 CPU,使每个终端用户都认为有一台,独立,的
CPU为它运行,用户感觉的 CPU是虚拟 CPU。
一个 CPU------多个 CPU
一条物理信道 ------多条逻辑信道
2009-7-19 计算机操作系统 1.50
操作系统特征 -2
异步性( Asynchronism)和不确定性
( nondeterministic)
在多道程序环境下,允许多个程序并发执行,但由于资源等因素的限制,程序的执行并非,一气呵成,,
而是以,走走停停,的方式运行,即程序是以异步方式运行的。多个程序异步并发执行带来了二种不确定性。一种是每个程序(进程)执行的速度和时间不确定,各程序(进程)之间推进的序列也不确定。即是不可预测的。另一种是每个程序(进程)执行结果不确定,即对同一程序,给定相同的初始条件、在相同的环境下进行多次执行,却可能获得完全不同的结果,
这也称为程序并发执行的不可再现性。执行结果的不确定性是绝对不允许的,这是操作系统为实现程序并发执行必须解决的问题。
2009-7-19 计算机操作系统 1.51
(2)现代操作系统特征:
微内核结构( Microkernel architecture)
它只把 OS少数基本的功能(包括地址空间、进程间通信
IPC和基本调度)分配给内核,其它的 OS服务由称为服务器的进程提供。
多线程( Multithreading)
该技术采用执行应用的进程被分为多个能并行运行的线程。
对称多处理机( Symmetric multiprocessing SMP )
分布式操作系统 ( Distributed Operating Systems)
面向对象设计( Object-oriented design)
2009-7-19 计算机操作系统 1.52
( 3) 操作系统功能
处理机(进程)管理处理机管理的主要任务是对处理机进行分配,并对其运行进行有效的控制和管理。在多道程序环境下,
处理机的分配和运行以进程为基本单位,因而对处理机管理可归纳为对进程的管理。进程管理包括进程控制、进程同步、进程通信和调度等。
存储器的管理存储器管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上来扩充内存,为此存储管理应具有内存分配、内存保护、地址映射和内存扩充等功能。
2009-7-19 计算机操作系统 1.53
操作系统功能 -1
I/O设备管理设备管理体制的任务是登记各 I/O设备状态,管理并完成用户提出的 I/O请求,按一定的策略为用户分配 I/O设备。同时提高 CPU和 I/O设备的利用率,提高 I/O速度,方便用户使用
I/O设备,为此设备管理应具有缓冲管理(计算机内部以字节 /若干字节为单位传播,链路上以比特流传播,设置缓冲区)
设备分配设备处理( DRIVER)
设备独立性 *( PASCAL-WRITE)和虚拟设备
信息管理(文件系统管理)
计算机系统的软件信息都以文件形式进行管理,操作系统中负责此任务的部分是文件系统,文件系统的任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性,为此文件系统管理应具有对文件存储空间(外存)
的管理、目录管理、文件共享和保护等功能。
2009-7-19 计算机操作系统 1.54
操作系统功能 -2
用户接口为了方便用户使用 OS,OS向用户提供了,用户与 OS
的接口,,该接口分成二种:一种是命令接口,它提供一组键盘命令,供用户去组织和控制作业的运行。
另一种是程序级接口,它提供一组系统调用供其它程序调用。另外一种提法:图形接口
2009-7-19 计算机操作系统 1.55
(五)题例题,( 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的利用率分别是多少?
假设在系统中仅有这三个作业投入运行,各设备的利用率指该设备的使用时间同作业进程组全部完成所占用最长时间的比率。 (返 )
2009-7-19 计算机操作系统 1.56
例题 解,
1。作业调度的方式:
输入输出设备非抢占方式调度;
CPU有二种调度的方式:非抢占方式和抢占方式,由题义决定为抢先式。
2。选择调度作业原则:
优先权;
资源( CPU,I/O设备、内存等)满足要求;
3。调度时机:完成一阶段 CPU计算或 I/O。
2009-7-19 计算机操作系统 1.57
例题 解 -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
2009-7-19 计算机操作系统 1.58
作业 题,
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。 (解 )
2009-7-19 计算机操作系统 1.59
作业 题 -1
3.在设计分时操作系统时,首先要考虑的是 ﹎﹎ A﹎﹎ ;在设计实时操作系统时,首先要考虑的是 ﹎﹎ B﹎﹎ ;在设计批处理系统时,首先要考虑的是 ﹎﹎ C﹎﹎ 。
A,B,C,(1)灵活性和可适应性; (2)交互性和响应时间; (3)
周转时间和系统吞吐量; (4)实时性和可靠性。
4,试从目标、多路性、独立性、交互性、及时性和可靠性多方面来比较批处理系统、分时系统及实时系统。通过比较,请写出这三种系统各适用于什么场合。( 解 )
2009-7-19 计算机操作系统 1.60
作业 题 -2
5.为了提高计算机的处理机和外部设备的利用率,把多个程序同时放入主存储器,在宏观上并行运行是 ﹎﹎ A﹎﹎ ;把一个程序划分成若干个同时执行的程序模块的设计方法是 ﹎﹎ B﹎
﹎ ;多个用户在终端设备上的交互方式输入,排错和控制其程序的运行是 ﹎﹎ C﹎﹎ ;由多个计算机组成的一个系统,这些计算机之间可以通信来交换信息,互相之间无主次之分,
它们共享系统资源,程序由系统中的全部或部分计算机协同执行,管理上述计算机系统的操作系统是 ﹎﹎ D﹎﹎ ;有一类操作系统的系统响应时间的重要性超过系统资源的利用率,
它被广泛地应用于卫星控制,导弹发射,飞机飞行控制,飞机订票业务等领域是 ﹎﹎ E﹎﹎ 。
A--E,① 分时 OS ② 实时 OS ③ 批处理系统 ④ 网络 OS
⑤ 分布式 OS ⑥ 单用户 OS ⑦ 多重程序设计 ⑧
多道程序设计 ⑨ 并发程序设计 (解 )