预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共141页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第二章进程管理2.1进程的基本概念2.1.1前趋图(PrecedenceGraph)③若(Pi,Pj)∈→,可写为Pi→Pj,前者是后者的前驱,后者是前者的直接后继。在前趋图中,初始结点无前驱,终止结点无后继。④前驱图中必须不存在循环,否则无法实现。所以前趋图是一个有向无循环图,记为DAG(DirectedAcyclicGraph)举例:Ii→Ci→Pi和S1→S2→S3对于图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或表示为: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→S3,S3→S2这种前驱关系无法满足。对于具有下述四条语句的程序段:S1:a∶=x+2S2:b∶=y+4S3:c∶=a+bS4:d∶=c+b2.1.2程序的顺序执行及其特征图2-1程序的顺序执行2.单道程序顺序执行时的特征2.1.3程序的并发执行及其特征2.资源共享系统中的硬件、软件资源不再为单个用户程序所独占,而由几道用户程序共同使用。那么,这些资源的状态也就不再取决于一道程序,而是由多道用户程序的活动共同决定,这就打破了一道程序封闭于一个系统中执行的局面。3.程序并发执行时的特征三种不同的执行序列:假设执行前,二者的共享变量c=n序列报告者打印的值观察者执行后的值a)c=c+1;printc;c=0;n+10b)printc;c=0;c=c+1;n1c)printc;c=c+1;c=0;n0执行的结果与执行的序列有关,即与执行的速度有关,就会有三种不同的执行结果。(2).程序和计算机执行程序的活动不再一一对应,即程序与计算不再一一对应。程序顺序执行时,程序和计算是一一对应的。并发执行时:一个并发程序可以为多个用户作业调用,使该程序处于多个执行当中,形成多个计算,.一个程序也可以分为多个进程或者线程,并发地执行,(3).并发的程序之间相互制约,使他们走走停停,出现了间断性资源的共享和并发活动时的系统的工作情况错综复杂,表现在并发程序之间的相互依赖和相互制约方面,直接制约关系,发生在彼此有逻辑关系的几个并发程序活动之间,如输入,计算,打印形成的停----等关系,间接制约是由竞争使用同一资源引起的,也引起停----等。各个程序活动走走停停,具有执行----暂停----执行的活动规律。(4).进程概念的引入综上所述,在多道程序环境下,程序的并发执行代替了程序的顺序执行,破坏了程序的封闭性和可再现性,使得程序和计算不再一一对应,而且,由于资源的共享和程序的并发执行导致在各个程序的活动之间可能存在相互制约关系,即程序活动不再处于一个封闭的系统中,出现了许多新的特性,如独立性,并发性,动态性,相互制约性,因此,程序这个静态的概念已不能如实地反映程序活动的这些特征。二十世纪六十年代中期,MULTICS的设计者和以E.W.Dijkstra为首的T.H.E系统的设计者,开始使用进程(Process)来描述系统和用户的程序活动,IBM用任务(Task)来描述。2.2进程的定义、表示、调度状态和特征2.2.1定义有多种说法:①程序是行为的规则,进程是程序在处理机上执行时所发生的活动。②进程是一个程序与其数据在处理机上顺序执行时所发生的活动。③进程是程序的一次执行,该程序可以与其他的程序并发地执行。④进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位。本书定义:进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位。2.2.2进程的表示1.进程的组成进程由三部分组成:(进程的结构性定义)进程实体=代码+数据+进程控制块=CODE+DATA+PCB⑴程序代码CODE:描述进程要完成的功能,是进程执行时不可修改的部分.⑵数据集合DATA:包括程序在执行时所需的数据和工作区,是进程的可修改的部分,只能为一个进程专用。程序和数据集合两部分是进程存在的物质基础。⑶进程控制块(ProcessControlBlockPCB)①是系统创建进程时,为其开辟的专用的存储区,是记录型的数据结构,包括进程的描述信息,和控制信息。是进程动态特性的集中反映。②PCB随着进程的创建而建立,随着进程的撤销而撤销,随着进程的运行而变化。系统通过PCB感知进程的存在,通过PCB来控制和管理进程,是进程存在的唯一标志。正像在磁盘上通过目录来