资源描述:
《chapter2-1.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章 进程管理(1)第二章 进程管理(1)2.1进程的概念和PCB2.2进程控制2.3线程第二章 进程管理2.1进程的基本概念2.1.1程序的顺序执行及特征1.基本概念程序:一个在时间上按严格次序、顺序执行的操作序列。程序的顺序执行:一个具有独立功能的程序独占处理机,直至得到最终结果的过程。操作:数据处理的一种规则,一经启动就需要在有限时间内完成。计算:若干操作严格顺序执行的集合。2.程序的顺序执行在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。通常一
2、个程序可分成若干个程序段,它们必须按照某种先后次序执行,仅当前一操作执行后,才能执行后继操作。例如:进行计算。I:输入操作C:计算操作P:打印操作。在进行计算时,总是先输入用户的程序和数据,然后进行计算,最后将结果打印出来。3.语句的顺序执行S1:a:=x+yS2:b:=a-5S3:c:=b+1如下图,语句S2必须在a被赋值后才能执行;S3也只能在b被赋值后才能执行。4.程序的顺序执行的特征顺序性:一个程序的各个部分的执行,严格地按照某种先后次序执行;封闭性:程序在封闭的环境下运行,即程序运行时独占
3、全部系统资源;可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都将获得相同的结果。程序顺序执行的特性,为程序员检测和校正程序的错误带来很大方便。2.1.2.前趋图为了描述一个程序的各部分(程序段或语句)间的依赖关系,或者是一个大的计算的各个子任务间的因果关系,我们常常采用前趋图方式。图2-1九个结点的前趋图前趋图(续)P1为初始结点,P9为终止结点。每个结点还具有一个重量。该前趋图,存在下面的前趋关系:P1→P2,P1→P3,P1
4、→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9;或表示为: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)}前趋图(续)前趋图中的每个结点可以表示一条语句、一个程序段或进程,结点间的有向边表示两个结点之间存在的偏序(Partial_Order)或前趋关系(P
5、recedence_Relation)“→”={(Pi,Pj)
6、在Pj开始前Pi必须完成}如果(Pi,Pj)∈→,可写成Pi→Pj,Pi是Pj的直接前趋,Pj是Pi的直接后继。前趋图中必须不存在循环,如下图不是前趋图。2.1.3程序并发执行及特征1.并发环境:在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的2.程序的并发执行在对一批程序进行处理时,可以并发执行。例如,输入、计算、打印三个程序对一批作业进行处理时,存在以下的前趋关系:Ii→Ci,Ii→
7、Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1图2-2并发执行时的前趋图在上例中存在下述前趋关系:Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a∶=x+2S2:b∶=y+4S3:c∶=a+bS4:d∶=c+1图2-3四条语句的前趋关系3.程序的并发执行的特征失去封闭性:程序在执行时与其他并发执行程序共享系统的资源。间断性:程序并发执行时,由于它们共享资源或程序之间相互合作完成
8、一项共同任务,因而使程序之间相互制约。不可再现性:由于程序的并发执行,打破了由另一程序独占系统资源的封闭性,因而破坏了可再现性。2.1.4进程的特征与状态1.进程的概念进程是具有独立功能的程序关于某个数据集合上的一次运行活动。进程是可与其他程序并发执行的程序,在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位。2.进程的特征动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本状态之间转换。并发性:任何进程都可以同其他进程一起向前推进。独
9、立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。结构特征:为了控制和管理进程,系统为每个进程设立一个进程控制块——PCB。3.进程与程序的区别程序是静态的,进程是动态的;进程更能真实地描述并发,而程序不能;一个程序可对应多个进程;进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的;程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的