资源描述:
《计算机操作系统第二章_进程与并发控制剖析课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章进程的描述与控制2.1前趋图和程序执行2.2进程的描述2.3进程控制2.4进程同步2.5经典进程的同步问题2.6进程通信2.7线程的基本概念2.8线程的实现2.1.1前趋图前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG(DirectedAcyclicGraph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(PartialOrder)或前趋关系(PrecedenceRelation)“→”。→={(Pi,Pj)
2、PimustcompletebeforePjm
3、aystart},如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(InitialNode),把没有后继的结点称为终止结点(FinalNode)。每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。Ii→Ci→Pi和S1→S2→S3图2-2前趋图对于图2-2(a)所示的前趋图,存在下述前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9或表示为:P={P1,P2,P3,P4
4、,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→S3,S3→S22.1.2程序顺序执行1.程序的顺序执行例子:S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;2.程序顺序执行时的特征(1)顺序性:处理机的操作严格按照程序所规定的顺序执行。(2)封闭性:程序运行时独占全机资源,程序一旦开始执行,其执行结果不受外界因素影响。
5、(3)可再现性:只要程序执行时的环境和初始条件相同,都将获得相同的结果。(不论它是从头到尾不停顿地执行,还是“停停走走”地执行)2.1.3程序的并发执行1.程序的并发执行图2-3并发执行时的前趋图一个作业由输入程序、计算程序、打印程序组成。在该例中存在下述前趋关系:Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a∶=x+2S2:b∶=y+4S3:c∶=a+bS4:d∶=c+b图2-4四条语句的前趋关系2.程序并发执行时的特征间断性
6、程序并发执行是,由于共享系统资源,这些程序形成相互制约的关系,具有“执行-暂停-执行”特征。2)失去封闭性程序并发执行时,多个程序共享系统资源,因而这些资源的状态将由多个程序来改变,从而导致程序的运行失去封闭性。3)不可再现性程序并发执行,由于失去了封闭性,从而也失去了可再现性。例如,有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时,都要做N∶=N+1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行。2.程序并发执行时的特征程序A和B以不同的速度运行出现的情况:1、N=N+1,在Print(N)和N=0之前执
7、行,即执行次序:N=N+1n+1Print(N)n+1N=002、N=N+1,在Print和N=0之后执行,即执行次序:Print(N)nN=00N=N+113、N=N+1,在Print和N=0之间执行,即执行次序:Print(N)nN=N+1n+1N=00彩色的为执行结果,各不相同作业1在Linux操作系统中实现上页中例子,运行多次,每次的结果有什么不同?2.2进程的描述2.2.1进程的定义和特征1.典型的进程定义有:(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调
8、度的一个独立单位。2.2进程的描述2.进程的结构为使程序(含数据)能独立运行,应为之配置一进程控制块,即PCB;而由程序段、相关的数据段和PCB三部分便构成了进程实体。所谓创建进程,实质上是创建进程实体中的PCB;而撤消进程,实质上是撤消进程的PCB。三个进程同时驻留内存三个进程交替执行进程A调度程序进程B调度程序进程C3.进程的特征1)动态性进程的实质是进程实体的一次执行过程,因此,动态性是进程的最基本的特征。动态性表现:“它由创建而产生,由调度而执行,由撤消而消亡”。可见,进程实体有一定的生命期。程