计算机操作系统精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
图 2-1 程序的顺序执行
第二章 进 程 管 理
2. 单道程序顺序执行时的特征
顺序性:执行完一条,紧接着执行下一条。程序规定的顺 序就是程序执行的顺序,程序和计算机执行程序的活动严格地 一一对应。
封闭性:程序执行时,独占系统的全部资源,其计算结果 值取决于程序本身 。
程序顺序执行时,程序和计算是一一对应的。 并发执行时: 一个并发程序可以为多个用户作业调用,使该程序处于多 个执行当中,形成多个计算,. 一个程序也可以分为多个进程或者线程,并发地执行,
第二章 进 程 管 理
(3).并发的程序之间相互制约,使他们走走停停,出现了间 断性
资源的共享和并发活动时的系统的工作情况错综复杂,表 现在并发程序之间的相互依赖和相互制约方面,
序列
报告者打印的值 观察者执行后的值
a) c=c+1; print c; c=0;
n+1
0
b) print c; c=0; c=c+1;
n
1
c) print c; c=c+1; c=0;
n
0
执行的结果与执行的序列有关,即与执行的速度有关,就 会有三种不同的执行结果。
第二章 进 程 管 理
(2).程序和计算机执行程序的活动不再一一对应,即程序与 计算不再一一对应。
L1: …… Observe next car; Count:=Count+1; Goto L1: End
Reporter Begin L2: ……. Print Count; Count:=0; End
Coend End
第二章 进 程 管 理
三种不同的执行序列 :
假设执行前,二者的共享变量c = n
S2→S3, S3→S2 这种前驱关系无法满足。
第二章 进 程 管 理
S1: a∶=x+2 S3: c∶=a+b
S2: b∶=y+4 S4: d∶=c+b
S1
S3
S4
S2
图 2-4 四条语句的前趋关系
第二章 进 程 管 理
2.1.2 程序的顺序执行及其特征
1. 单道程序的顺序执行
程序的顺序执行是指单道程序按照程序规定的顺序去执 行。这种执行顺序可以表示为前驱关系。仅当前一操作(程序 段)执行完后,才能执行后继操作。
第二章 进 程 管 理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信 2.7 线程
第二章 进 程 管 理
2.1 进程的基本概念
2.1.1 前趋图 (Precedence Graph)
①前趋图用于描述进程之间执行的前后关系。由结点和其间 的有向边组成。
直接制约关系,发生在彼此有逻辑关系的几个并发程序活 动之间,如输入,计算,打印形成的停----等关系,
间接制约是由竞争使用同一资源引起的,也引起停----等。
各个程序活动走走停停,具有执行----暂停----执行的活动 规律。
可再现性:只要程序执行的环境和初始条件相同,必将获 得相同的结果,与其执行的速度无关 。即执行程序的两个动作 之间如有停顿,不会影响程序的执行结果。
第二章 进 程 管 理
2.1.3 程序的并发执行及其特征
1. 程序的并发执行
I1
I2
I3
I4
C1
C2
C3
C4
P1
P2
P3
P4
图 2-3 并发执行时的前趋图
者是前者的直接后继。在前趋图中,初始结点无前驱,终止结 点无后继。 ④前驱图中必须不存在循环,否则无法实现。所以前趋图是一 个有向无循环图,记为DAG(Directed Acyclic Graph) 举例: Ii→Ci→Pi 和 S1→S2→S3
第二章 进 程 管 理
P2
P5
S1
P1
P3
P8
P9
P6
例如,在进行计算时,总须先输入用户的程序和数据, 然后进行计算,最后才能打印计算结果。
又例如:S1: a ∶=x+y;
S2: b ∶=a-5;
S3: c ∶=b+1;
显然S1作完, S2才能作。 S2作完, S3才能作。
第二章 进 程 管 理
把这两个例子表示为前驱图:
I1
C1
P1
I2
C2
P2
S1
S2
P={P1, P2, P3, P4, P5, P6, P7, P8, P9} 表示结点集合 →={ (P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7),
(P5, P8), (P6, P8), (P7, P9), (P8, P9)} 表示前驱关系集合 应当注意,前趋图中必须不存在循环,但在图2-2(b)中却
S2
P4 S3
P7
(a) 具有九个结点的前趋图
(b) 具有循环的前趋图
对于图 2-2(a)所示的前趋图, 存在下述11个前趋关系:
P1→P2, P1→P3, P1→P4, P2→P5, P3→P5, P4→P6, P4→P7, P5→P8, P6→P8, P7→P9, P8→P9
第二章 进 程 管 理
图中的结点表示一个程序段或进程,乃至一条语句;每个结 点还具有一个重量(Weight),表示该结点所含有的程序量或结 点的执行时间。 结点间的有向边则表示两个结点之间存在的偏序或前趋关系。
②前驱关系的定义是: → = {( Pi, Pj )必须在Pi完成后,Pj才
能开始;}
第二章 进 程 管 理
③若( Pi, Pj ) ∈ → ,可写为 Pi → Pj,前者是后者的前驱,后
第二章 进 程 管 理
3. 程序并发执行时的特征
(1).失去了程序的封闭性Βιβλιοθήκη Baidu可再现性
举例:观察者与报告者并行工作,卡车单向行驶于公路, 观察者对通过的卡车计数,报告者定时打印观察者的计数值, 然后将计数器清零。
Begin Count: integer; Count:=0; Cobegin
Observer Begin
Ii→Ci,Ii→Ii+1, Ci→Pi, Ci→Ci+1,Pi→Pi+1
而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间, 可以并发执行。
第二章 进 程 管 理
2.资源共享 系统中的硬件、软件资源不再为单个用户程序
所独占,而由几道用户程序共同使用。那么,这些 资源的状态也就不再取决于一道程序,而是由多道 用户程序的活动共同决定,这就打破了一道程序封 闭于一个系统中执行的局面。