操作系统第二章 ppt课件

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

13
并行与并发的概念差别
并行(Parallel)
➢ 同一时刻,两个事物均处于活动状态
并发(Concurrency)
➢ 宏观上存在并行特征,微观上存在顺序性
➢ 同一时刻,只有一个事物处于活动状态
05.09.2020
第二章 进程管理
14
并发所带来的效率提升
05.09.2020
第二章 进程管理
15
S1
S3
S4
S2
05.09.2020
第二章 进程管理
10
程序并发执行的特点
间断性
“走走停停”,一个程序可能走到中途停下来,失去原有的时序关系
失去程序的封闭性
多个程序共享系统中的资源,这些资源的状态将由多个程序来改变。 如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的 不变特征。
不可再现性
➢ N:=N+1在Print(N)和N=0之前,此时N值分为N+1,N+1, 0 ➢ N:=N+1在Print(N)和N=0之后,此时N值分为N, 0, 1 ➢ N:=N+1在Print(N)和N=0之间,此时N值分为N, N+1, 0
问题:并发与并行的区别是什么?
05.09.2020
第二章 进程管理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 2.6 进程通信 2.7 线程
05.09.2020
第二章 进程管理
1
2.1 进程的基本概念
2.1.1 前趋图 2.1.2 程序的顺序执行及其特征 2.1.3 程序的并发执行及其特征 2.1.4 进程的特征与状态 2.1.5 进程控制块
05.09.2020
第二章 进程管理
2
前驱图 (Precedence Graph)
前驱图是一个有向无循环图,图中的每个结点可用于表示 一条语句,一个程序段或进程;结点间的有向边则表示在
两结点之间存在的偏序或前驱关系。
结点、有向边、
P2
直接前驱、直接
P1
P3
P5 P6
P8
P9
后继、初始结点、 终止结点
并发所带来的效率提升
顺序执行模式下的系统工作效率
➢ 系统总运行时间:80 ➢ CPU使用效率:CPU占用时间 / 总时间 = 40/80 = 50% ➢ DEV1使用效率:15 / 80 = 18.75% ➢ DEV2使用效率:25 / 80 = 31.25%
并发执行模式下的系统工作效率
➢ 系统总运行时间:45 ➢ CPU使用效率:40 / 45 = 89% ➢ DEV1使用效率:15 / 45 = 33% ➢ DEV2使用效率:25 / 45 = 55.6%
Reladdr 先执行
top
top
Getaddr 接着执行
top
执行top =
a
top+1后中 断
a
a
b
b
b
e
e
e
f
f
f
05.09.2020
第二章 进程管理
12
程序并发执行的特点
例:程序A、B,共享变量N,程序A,只有一个语 句N:=N+1;程序B由两个语句Print(N),N=0组成。 两个程序以不同速度运行,可能出现三种情况:
硬件资源:CPU、输入输出设备,存储器 软件资源:各种例行程序、各种共享的数据 多道程序环境下执行程序的道数 > 计算机系统中CPU的个数 单CPU中,则有N-1道程序处在等待CPU的状态 输入输出设备有限将导致这些设备被共享、内存有限将导致内存被共享
05.09.2020
第二章 进程管理
8
程序的并发执行
可再现性:程序的结果与它的执行速度无 关(即与时间无关),只要给定相同的输 入,一定会得到相同的结果。
05.09.2020
第二章 进程管理
7
多道程序系统中程序执行环境的变化
▪ 计算机能够同时处理多个具有独立功能的程序(批处理系统,分时系统、 实时系统、网络与分布式系统)。这样的执行环境具有三个特点: ➢ 独立性:每道程序都是逻辑上独立的,之间不存在制约关系。 ➢ 随机性:程序和数据的输入与开始执行时间都是随机的。这种随机性形 成了操作系统必须同时处理多道程序的客观要求。 ➢ 资源共享
05.09.2020
第二章 进程管理
16
进程的引入
并发执行的各程序段由于同时存在于主存中,共享软硬件资 源,造成其执行结果受执行速度影响的局面。 在多道程序系统所带来的复杂环境中,程序段具有了并发、 制约、动态的特性,原来的程序概念,难以刻画系统中的情况。
失去封闭性→失去可再现性;外界环境在程序的两次执行期间发生变
化,失去原有的可重复特征。
05.09.2020
第二章 进程管理
11
例:设有堆栈S,栈指针top,栈中存放内存中相应数据块地址,设有
两个程序段getaddr(top)和reladdr(blk),其中getaddr(top) 从给定的top所指栈中取出相应的内存数据块地址,而reladdr(blk) 则将内存数据块地址blk放入堆栈S中。
P4
无循环关系,可
P7
实现顺序执行
05.09.2020
第二章 进程管理
3
程序的顺序执行
程序是一个静态的概念,是严格按次序执行的计 算机操作序列的集合,体现了编程人员要求计算 机完成相应功能时所应采取的顺序步骤。
一个较大的程序通常都是由若干个程序段组成。 在程序执行时,必须按照某种先后次序逐个执行, 仅当前一操作执行完后,才能执行后继操作。
05.09.2020
第二章 进程管理
5
程序的顺序执行
一个程序的多条语句的顺序执行:
S1: a:=x+y S2: b:=a-5 S3: c:=b+1
S1
S2
S3
05.09.2020
第二章 进程管理
6
程序顺序执行的特点
顺序性:一个程序开始执行必须要等到前 一个程序已执行完成。
封闭性:程序一旦开始执行,其计算结果 不受外界因素影响。
所谓程序的并发
I1
P1
O1
执行是指:若干个程 序同时在系统中执行,
I2
P2
O2
这些程序的执行在时
间上是重叠的,一个 I3 P3 O3 程序的执行尚未结束,
另一个程序的执行已
经开始。
05.09.2020
第二章 进程管理
9
程序的并发执行
一个程序的多条语句的并发执行:
S1: a:=x+2 S2: b:=y+5 S3: c:=a+b S4: d:=c+6
例如:在进行计算时,总是先输入用户的程序和 数据,然后才能计算,计算完成后再将结果打印 出来。
05.09.2020
第二章 进程管理
4
程序的顺序执行
程序的顺序执行如图
I1
P1
O1
作业1
I2
P2
O2
Βιβλιοθήκη Baidu
作业2
在计算机系统中只有一个程序在运行,这个程序独 占系统中所有资源,其执行不受外界影响。一道程 序执行完后另一道才能开始。
相关文档
最新文档