第2章进程管理(1).ppt
《第2章进程管理(1).ppt》由会员分享,可在线阅读,更多相关《第2章进程管理(1).ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 进程描述与控制进程描述与控制 前趋图和程序设计前趋图和程序设计 进程进程 进程间的相互作用进程间的相互作用 进程间的通信进程间的通信 进程调度(进程调度(CPU调度)调度)线程线程2.1 前趋图和程序设计前趋图和程序设计 前趋图的定义前趋图的定义 程序顺序执行程序顺序执行 并发程序执行并发程序执行 多道程序设计多道程序设计2.1.1 前趋图的定义前趋图的定义 前趋图前趋图(procedence graph)是一个有向无环图是一个有向无环图DAG(directed acyclic graph)。图中的每一个顶点可图中的每一个顶点可表示一条语句、一个程序段或进程表示一条语句、一个程序
2、段或进程,弧则表示两顶弧则表示两顶点之间的偏序点之间的偏序(partial order)或前趋关系或前趋关系(procedence relation)。无前趋的顶点为初始顶点无前趋的顶点为初始顶点,无后继的顶点称为终止顶点无后继的顶点称为终止顶点,每个顶点还有一个权每个顶点还有一个权值值,它表示顶点执行所需的时间。如它表示顶点执行所需的时间。如1352467 它的每一种拓扑排序都是顺序执行时正确得到结它的每一种拓扑排序都是顺序执行时正确得到结果的顺序果的顺序,有路经的两顶点必须按前趋关系顺序执行有路经的两顶点必须按前趋关系顺序执行,无路经的两顶点则可以并发执行。无路经的两顶点则可以并发执行。2
3、.1.2 程序顺序执行程序顺序执行程序顺序执行:程序顺序执行:程序执行时程序执行时,必须按某种先后次序必须按某种先后次序,只有当前操作只有当前操作完成后才能执行后继操作完成后才能执行后继操作,它体现了某种算法。如:它体现了某种算法。如:S1:a:=x+y;S2:b:=a-5;S3:c:=b+1;各程序段与此相同各程序段与此相同,以以 I C P分别代表输入计算和输出分别代表输入计算和输出,则前趋图:则前趋图:前趋图前趋图S1S2S3I1C1P1I2C2P2程序顺序执行的程序顺序执行的特征:特征:程序执行的顺序性程序执行的顺序性:严格按所规定的顺序执行严格按所规定的顺序执行 程序执行的封闭性程序
4、执行的封闭性 独占资源独占资源,执行过程和结果不受其它程序的影响执行过程和结果不受其它程序的影响 程序结果的可再现性程序结果的可再现性(结果的确定性结果的确定性)只要初始状态相同只要初始状态相同,程序多次重复运行程序多次重复运行,其结果其结果与程序执行速度无关与程序执行速度无关(连续或间断连续或间断),),结果都应相同。结果都应相同。2.1.3 程序并发执行及其特征程序并发执行及其特征1.多个程序的并发执行:多个程序的并发执行:在一定时间内物理机器上有两个或两个以上在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且的程序同处于开始运行但尚未结束的状态,并且次序不是
5、事先确定的。宏观上同时处于运行状态次序不是事先确定的。宏观上同时处于运行状态微观上各程序交替地间断运行。微观上各程序交替地间断运行。I1I2I3I4C1C2C3C4P1P2P3P4前趋关系前趋关系:IiCi,PiPi+1 CiPi,IiIi+1 CiCi+1Ii+1,Ci,Pi-1是重叠的是重叠的 举例说明举例说明:假如系统中有两道程序假如系统中有两道程序AA和和BB:program AA;program BB;begin begin AN BN N:=N+1;AA+1 N:=N+1;BB+1 NA NB End;end;int N=1;是是AA和和BB都能访问的外部公共变量都能访问的外部公共
6、变量,这两这两个程序在并发执行个程序在并发执行,N:=N+1;可分解为可分解为3条机器指令条机器指令,它们的执行顺序不同有可能导致它们的执行顺序不同有可能导致N的值结果不同。的值结果不同。时间时间 T0 T0 T1 T2 T3 T4 T1 T2 T3 T4 T5 T5程序程序A AA AN NA AA+1A+1N NA A程序程序B BB BN NB BB+1B+1N NB BN N的值的值 1 1 2 2 2 3 1 1 2 2 2 3(a)顺序顺序执行执行时间时间 T0 T0 T1 T2 T3 T4 T1 T2 T3 T4 T5 T5程序程序A A程序程序B BN N的值的值 1 1 1
7、1 2 2 1 1 1 1 2 2(b)交叉交叉执行执行时间时间 T0 T0 T1 T2 T3 T4 T1 T2 T3 T4 T5 T5程序程序A A程序程序B BN N的值的值 1 1 1 1 2 2 1 1 1 1 2 2(c)交叉交叉执行执行N NB BB BB+1B+1B BN NA AN NA AA+1A+1N NA AA AN NN NA AA AA+1A+1N NB BB BB+1B+1B BN N2.并发执行特征:并发执行特征:(1)在并发环境下程序的执行是间断性的)在并发环境下程序的执行是间断性的 执行执行停停执行执行(2)失去封闭性)失去封闭性 并发程序共享系统中的资源并发
8、程序共享系统中的资源,资源状态将由多个程资源状态将由多个程序改变序改变,某程序执行过程和结果会受其它程序的影响。某程序执行过程和结果会受其它程序的影响。(3)程序结果的不可再现性)程序结果的不可再现性 由于由于失去封闭性失去封闭性,并发程序执行的结果不可再现并发程序执行的结果不可再现,与其执行的相对速度有关与其执行的相对速度有关,是不确定的。是不确定的。(4)相互制约性()相互制约性(2)并发的程序之间相互制约并发的程序之间相互制约 可分为直接制约和间接制约可分为直接制约和间接制约 间接制约关系间接制约关系,是因为共享使用户斥资源引起的是因为共享使用户斥资源引起的 例如例如:系统中并发执行的程
9、序段系统中并发执行的程序段 A 和和 B 在运行过程在运行过程中都希望使用打印机输出计算结果中都希望使用打印机输出计算结果,若系统只有一台若系统只有一台打印机打印机,分得打印机的程序段分得打印机的程序段(假设假设A得到得到)可以继续可以继续运行运行,而没有得到打印机的程序段而没有得到打印机的程序段B 就不得不暂停就不得不暂停,等等到有可用打印机时才能继续执行。到有可用打印机时才能继续执行。直接制约关系直接制约关系,是由于各并发执行的程序段之间需是由于各并发执行的程序段之间需要协调共同完成同一个任务而引起的要协调共同完成同一个任务而引起的。例如例如:某程序段某程序段A在运行过程中要在某些同步点上
10、在运行过程中要在某些同步点上等待另一程序段等待另一程序段 B 为它提供消息为它提供消息,在未获得消息前在未获得消息前,A 处于等待状态处于等待状态,获得消息后获得消息后,A才能继续运行。才能继续运行。(5)程序与程序与CPU执行的活动之间不再一一对应执行的活动之间不再一一对应 程序与程序与CPU执行的活动执行的活动,这是两个不同的概念这是两个不同的概念;程程序是完成某一特定功能的指令序列序是完成某一特定功能的指令序列,是静态的概念是静态的概念;而而CPU 执行的活动是一个动态概念执行的活动是一个动态概念,它是程序的执行过它是程序的执行过程。程序在顺序执行程。程序在顺序执行(即单道运行即单道运行
11、)时时,程序与程序与CPU执执行的活动是一一对应的行的活动是一一对应的,而在程序并发执行而在程序并发执行(即多道程即多道程序序)时时,这种关系不再存在。这种关系不再存在。例如例如,在分时系统中在分时系统中,多个用户都调用多个用户都调用C编译对自编译对自己的源程序进行编译己的源程序进行编译,实际系统只保留一个编译程序实际系统只保留一个编译程序,多个用户通过共享执行它完成各自源程序的编译工作。多个用户通过共享执行它完成各自源程序的编译工作。3.并发执行的条件并发执行的条件(保持可再现性保持可再现性):引入并发是为了提高资源利用率引入并发是为了提高资源利用率,从而提高系统效从而提高系统效率率(注意并
12、发与并行概念的区别注意并发与并行概念的区别)。但必须在一定的条。但必须在一定的条件下才能保持它们的可再现性。件下才能保持它们的可再现性。例如例如:S1:a:=a+x;S2:b:=x+1;S3:c:=a-b;S4:c:=x;S1和和S2、S1和和S4、S2和和S4能并发执行能并发执行S1和和S3、S2和和S3、S3和和S4不能并发执行不能并发执行定义:定义:R(p)=a1,a2,am,程序程序p引用的所有变量集合引用的所有变量集合(读读集集)W(p)=b1,b2,bn,程序程序p要改的所有变量集合要改的所有变量集合(写写集集)程序程序p1和和p2并发执行可再现的条件并发执行可再现的条件:(Ber
13、nstein 1966年年)R(p1)W(p2)R(p2)W(p1)W(p1)W(p2)=即两程序之间写集的交集和读集与写集的交集都为空即两程序之间写集的交集和读集与写集的交集都为空S1:a:=a+x;S1和和S2,S1和和S4,S2和和S4能并发能并发S2:b:=x+1;S3:c:=a-b;S1和和S3、S2和和S3读写交集不为空读写交集不为空S4:c:=x;S3和和S4写集交集不为空写集交集不为空所以,所以,S1和和S3、S2和和S3、S3和和S4不能并发执行。不能并发执行。2.1.4 多道程序设计应考虑的问题多道程序设计应考虑的问题 在多道程序环境下如何向用户提供服务在多道程序环境下如何
14、向用户提供服务 在并发程序之间如何正确传递消息(通讯)在并发程序之间如何正确传递消息(通讯)如何对如何对CPU进行调度进行调度,保证相对公平地得到保证相对公平地得到CPU(CPU是一个只可调度是一个只可调度,不可分配的资源)不可分配的资源)如何管理其他资源如何管理其他资源 各任务对资源使用上发生冲突时各任务对资源使用上发生冲突时,如何处理竞争。如何处理竞争。对对CPU通过调度来解决竞争问题通过调度来解决竞争问题,而对于其他资源通而对于其他资源通过过 申请申请分配分配使用使用回收回收的办法进行管理。的办法进行管理。2.2 进程进程 进程的概念进程的概念 进程的状态及其转换进程的状态及其转换 进程
15、控制块(进程控制块(Process Control Block)进程的特征进程的特征2.2.1 进程的概念进程的概念1.进程的定义:进程的定义:Process从不同的角度对进程的各种定义从不同的角度对进程的各种定义进程是程序的一次执行进程是程序的一次执行进程是可以和别的计算并发执行的计算进程是可以和别的计算并发执行的计算进程是一个数据结构及能在其上进行操作的程序进程是一个数据结构及能在其上进行操作的程序进程是程序及其数据在处理机上顺序执行的活动进程是程序及其数据在处理机上顺序执行的活动进程是程序在某一数据集合上的运行过程进程是程序在某一数据集合上的运行过程 进程是可以并发执行的程序在某个数据集
16、合上的运进程是可以并发执行的程序在某个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。行过程,是系统进行资源分配和调度的独立单位。结构性:结构性:由程序由程序+数据数据+进程控制块组成了进程实体进程控制块组成了进程实体,称之为称之为进程映像。进程控制块是进程存在的标志。进程映像。进程控制块是进程存在的标志。动态性动态性进程是进程实体的执行过程进程是进程实体的执行过程,它由创建而产生它由创建而产生,由由调度而执行调度而执行,因某事件而暂停因某事件而暂停,由撤销而消亡。在由撤销而消亡。在生命周期内生命周期内,进程在三种基本状态之间动态转换进程在三种基本状态之间动态转换 并发性并发性 多个
17、进程同时存于内存中多个进程同时存于内存中,一起向前推进一起向前推进,并发执并发执行行 独立性独立性 进程是独立获得资源和独立调度的基本单位进程是独立获得资源和独立调度的基本单位 异步性异步性 各进程都各自独立的不可预知的速度向前推进各进程都各自独立的不可预知的速度向前推进2.进程的基本特征进程的基本特征3.程序与进程之间的区别:程序与进程之间的区别:进程更能真实地描述并发,而程序不能进程更能真实地描述并发,而程序不能 进程是由程序、数据和进程控制块三部分组成的进程是由程序、数据和进程控制块三部分组成的 程序是静态的,进程是动态的程序是静态的,进程是动态的 进程有生命周期,有诞生有消亡,短暂的;
18、而程进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的序是相对长久的 一个程序可对应多个进程,反之亦然一个程序可对应多个进程,反之亦然 进程具有创建其他进程的功能,而程序没有进程具有创建其他进程的功能,而程序没有2.2.2 进程的基本状态及其转换进程的基本状态及其转换1.进程的三种基本状态:进程的三种基本状态:运行态运行态(Running):执行态执行态 进程占有进程占有CPU,并在并在CPU上运行。上运行。就绪态就绪态(Ready):进程已经具备运行条件进程已经具备运行条件,但由于但由于CPU忙而暂时不忙而暂时不能运行的状态能运行的状态(当调度给其当调度给其CPU时时,立即可以运行立即
19、可以运行)。阻塞态阻塞态(Blocked):等待态等待态、封锁态封锁态、冻结态冻结态、睡眠态睡眠态 进程因等待某种事件的发生而暂时不能运行的状进程因等待某种事件的发生而暂时不能运行的状态。态。(即使即使CPU空闲空闲,该进程也不可运行该进程也不可运行)。进程在生命期内处于且仅处于三种基本状态之一进程在生命期内处于且仅处于三种基本状态之一 不同系统设置的进程状态数目不同。不同系统设置的进程状态数目不同。2.进程状态转换:进程状态转换:在进程运行过程中,由于进程自身进展情况在进程运行过程中,由于进程自身进展情况及外界环境的变化,这三种基本状态可以依据及外界环境的变化,这三种基本状态可以依据一定的条
20、件相互转换。一定的条件相互转换。就绪就绪 运行运行调度:调度:调度程序选择一个新的进程运行调度程序选择一个新的进程运行 运行运行 就绪就绪超时:超时:运行进程用完时间片被中断运行进程用完时间片被中断,在抢占调度在抢占调度方式中方式中,因为一高优先级进程进入就绪状态因为一高优先级进程进入就绪状态 运行运行 阻塞阻塞I/O请求:请求:当进程发生当进程发生I/O请求或等待某事件时请求或等待某事件时 阻塞阻塞 就绪就绪I/O完成:完成:当当I/O完成或所等待的事件发生时完成或所等待的事件发生时运行运行就绪就绪阻塞阻塞调度调度超时超时I/O请求请求I/O完成完成P 31 图图 2-53.进程的挂起状态进
21、程的挂起状态 某些系统还增加了某些系统还增加了挂起状态,它挂起状态,它引入的原因:引入的原因:由于终端用户由于终端用户、父进程及操作系统的需要父进程及操作系统的需要,要将某进要将某进程程静止静止下来不接受调度下来不接受调度,增加了增加了静止阻塞静止阻塞(Blockeds阻阻塞挂起塞挂起)和和静止就绪静止就绪(Readys就绪挂起就绪挂起)态态,原阻塞和就原阻塞和就绪改称为活动阻塞绪改称为活动阻塞(Blockeda)和活动就绪和活动就绪(Readya)态态。1)运行或活动就绪运行或活动就绪静止就绪静止就绪,活动阻塞活动阻塞静止阻塞静止阻塞 通过挂起原语通过挂起原语(suspend)2)静止就绪静
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程 管理
限制150内