chapter21new第二章.ppt
《chapter21new第二章.ppt》由会员分享,可在线阅读,更多相关《chapter21new第二章.ppt(98页珍藏版)》请在三一办公上搜索。
1、第二章进程管理(1),东北师范大学计算机学院,1,第二章进程管理(1),2.1 进程的概念和PCB2.2 进程控制2.3 线 程,东北师范大学计算机学院,2,2.1 进程的基本概念,2.1.1程序的顺序执行及其特征2.1.2 前驱图2.1.3 程序的并发执行及其特征2.1.4 进程的特征与状态2.1.5 进程控制块(PCB),东北师范大学计算机学院,3,2.1.1程序的顺序执行及特征,1.基本概念程序:一个在时间上按严格次序、顺序执行的操作序列。程序的顺序执行:一个具有独立功能的程序独占处理机,直至得到最终结果的过程。操作:数据处理的一种规则,一经启动就需要在有限时间内完成。计算:若干操作严格
2、顺序执行的集合。,东北师范大学计算机学院,4,2.程序的顺序执行,在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。通常一个程序可分成若干个程序段,它们必须按照某种先后次序执行,仅当前一操作执行后,才能执行后继操作。例如:进行计算。I:输入操作C:计算操作P:打印操作。在进行计算时,总是先输入用户的程序和数据,然后进行计算,最后将结果打印出来。,东北师范大学计算机学院,5,3.语句的顺序执行,S1:a:=x+y S2:b:=a-5 S3:c:=b+1 如下图,语句S2必须在a被赋值后才能执行;S3也只能在b被赋值后才能执行。,东北师范大学计算机学院,6,4.程序
3、的顺序执行的特征,顺序性:一个程序的各个部分的执行,严格地按照某种先后次序执行;封闭性:程序在封闭的环境下运行,即程序运行时独占全部系统资源;可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都将获得相同的结果。程序顺序执行的特性,为程序员检测和校正程序的错误带来很大方便。,东北师范大学计算机学院,7,2.1.2.前趋图,为了描述一个程序的各部分(程序段或语句)间的依赖关系,或者是一个大的计算的各个子任务间的因果关系,我们常常采用前趋图方式。,图2-1 九个结点的前趋图,东北师范大学计算机学院,8,前趋图(续),P1为初始结点
4、,P9为终止结点每个结点还具有一个重量。该前趋图,存在下面的前趋关系:P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P9;或表示为:=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),东北师范大学计算机学院,9,前趋图(续),前趋图中的每个结点可以表示一条语句、一个程序段或进程,结点间的有向边表示两个结点之间存在的偏序(Partial_Order)或前趋关系(
5、Precedence_Relation)“”(Pi,Pj)|在Pj开始前Pi必须完成如果(Pi,Pj),可写成PiPj,Pi是Pj的直接前趋,Pj是Pi的直接后继。前趋图中必须不存在循环,如下图不是前趋图。,东北师范大学计算机学院,10,2.1.3 程序并发执行及特征,1.并发环境:在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的,东北师范大学计算机学院,11,东北师范大学计算机学院,12,Begin interger N:N:=0;Cobegin program A:begin L1:program A;N:=N+1;go to L1 end
6、 program B:begin L2:program B;print(N);N:=0;go to L2 end Coendend,例子:,2.程序的并发执行,在对一批程序进行处理时,可以并发执行。例如,输入、计算、打印三个程序对一批作业进行处理时,存在以下的前趋关系:IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1,图 2-2 并发执行时的前趋图,东北师范大学计算机学院,13,在上例中存在下述前趋关系:IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a=x+2 S2:b=y+4 S3:
7、c=a+b S4:d=c+b,图 2-3 四条语句的前趋关系,东北师范大学计算机学院,14,15,Bernstein条件(1966年 两相邻语句可以并发执行的条件)程序并发执行时出现的“与时间有关的错误”时绝对不允许的,为此,应采取某种措施使并发程序的执行保持其“可再现性”。只有满足下列条件,才允许并发执行,否则按序进行。,首先,定义一些符号,R(Si)=a1,a2,am,aj(j=1,m),表示程序Si在执行程序其间所需引用的变量的集合,称为“读集”,W(Si)=b1,b2,bm,bj(j=1,m),表示程序Si在执行程序其间要改变的所有变量的集合,称为“写集”,若有两条语句 P1:Ci=a
8、-b P2:Wi=c+1,则它们的读写集分别为 R(P1)=a,b R(P2)=c W(P1)=c W(P2)=w,R(P1)W(P1)=R(P2)W(P2)=,16,读集与写集的交集,也可能不是空集 P:X:=X+1 R(P)=X W(P)=X R(P)W(P)=X结论:若两个程序P1和P2能满足下述条件,它们便能并发执行,否则不能 R(P1)W(P2)R(P2)W(P1)W(P1)W(P2)=上面提到的有如下四条语句 S1:a=x+y R(S1)=x,y W(S1)=a S2:b=z+1 R(S2)=z W(S2)=b S3:c=a-b R(S3)=a,b W(S3)=c S4:w=c+1
9、 R(S4)=c W(S4)=w S1与S2 满足Bernstein条件,可并行执行,数据无关*S1与S3 S2与S3 S3与S4,不能并发执行,四个节点的前趋图,S1,S2,S3,S4,3.程序的并发执行的特征,间断性:程序并发执行时,由于它们共享资源或程序之间相互合作完成一项共同任务,因而使程序之间相互制约。失去封闭性:程序在并发执行时,多个程序共享系统中的各种资源,这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。不可再现性:由于程序的并发执行,打破了由另一程序独占系统资源的封闭性,因而破坏了可再现性。通信性:对于相互合作的程序,为了更有效地协调运行,相互之间进行通信。独立
10、性:并发程序在运行过程中,既然是作为一个独立的运行实体,它也必然具有作为一个单位去获得资源的独立性。,东北师范大学计算机学院,17,4.多道程序设计,定义:Multiprogramming 多道程序设计是指允许多个程序同时进入内存并运行(引入目的是为了提高系统效率)与并发不完全是一个概念,但效果相似考虑因素:在多道程序环境下如何向用户提供服务在并发程序之间如何正确传递消息(通讯)如何对CPU进行调度,保证每个用户相对公平地得到CPU如何管理其他资源当各用户对资源使用上发生冲突时,如何处理竞争对CPU只能通过调度来解决竞争问题,而对于其他资源通过申请分配使用回收的办法进行管理,当且仅当占有CPU
11、的时候才可以申请,否则要排队等候,东北师范大学计算机学院,18,2.1.4 进程的特征与状态,1.进程的概念 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位 进程是可与其他程序并发执行的程序,在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位。,东北师范大学计算机学院,19,2.进程的特征,动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本状态之间转换并发性:多个进程实体同存于内存中,且能在一段时间内同时运行。任何进程都可以同其他进程一起向前推进独立性:进程是一个能独立运行的基本单位
12、,同时也是系统分配资源和调度的独立单位;异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进结构特征:为了控制和管理进程,系统为每个进程设立一个进程控制块 PCB。进程实体:程序段、相关数据段和PCB。所说的进程实际上指进程实体。,东北师范大学计算机学院,20,3.进程与程序的区别,程序是静态的,进程是动态的;进程更能真实地描述并发,而程序不能;一个程序可对应多个进程,反之亦然;进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的;程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的;进程是系统分配调度的独立单位,能与其他进程并发执行;进程
13、是由程序和数据两部分组成的进程具有创建其他进程的功能,而程序没有,东北师范大学计算机学院,21,4.进程创建与中止,1)进程何时创建提交一个批处理作业用户登录由OS创建,用以向一用户提供服务(如:打印文件)由已存在的一进程创建一个用户程序可创建成多个进程进程何时中止批处理作业发出暂停(Halt)指令用户退出登录进程执行一中止服务请求出错及失败因素,东北师范大学计算机学院,22,5.进程中止的原因,正常结束给定时限到缺少内存存储器出界保护性出错:例子:写只读文件算术错超出时间:进程等待超过对某事件的最大值I/O 失败无效指令:如试图执行数据特权指令操作系统干预:如当死锁发生时父进程请求中止某一子
14、进程父进程中止,所以子进程也中止,东北师范大学计算机学院,23,6.进程状态,1)进程的三种基本状态(进程执行时的间断性)当进程已分配到除CPU以外的所有必要资源时,它便处于就绪状态,一旦获得CPU,便立即执行。已获得CPU的进程进入执行状态。正在执行的进程,由于发生某个事件而暂时无法执行时,便放弃处理机而进入阻塞状态。由于执行的进程变为阻塞状态后,调度程序立即把处理机分配给另一个就绪进程;因此,阻塞进程的事件消失后,进程不会立即恢复到执行状态,而转变为就绪状态,重新等待处理机。,东北师范大学计算机学院,24,运行,就绪,等待,图24 进程的状态及其转换,东北师范大学计算机学院,25,2)进程
15、状态转换条件,在进程运行过程中,由于自身进展情况及外界环境的变化,这三种基本状态可以依据一定的条件相互转换:就绪-运行调度程序选择一个新的进程运行运行-就绪运行进程用完了时间片运行进程被中断,因为一高优先级进程处于就绪状态,东北师范大学计算机学院,26,进程状态转换条件(续),运行-等待当一进程必须等待时OS尚未完成服务对一资源的访问尚不能进行初始化I/O 且必须等待结果等待某一进程提供输入(IPC)等待-就绪当所等待的事件发生时,东北师范大学计算机学院,27,创建状态终止状态挂起状态(调节负载,对换,父进程,操作系统,终端用户),3)其他状态,东北师范大学计算机学院,28,创建(新new)状
16、态,OS 已完成为创建一进程所必要的工作已构造了进程标识符已创建了管理进程所需的表格但还没有允许执行该进程(尚未同意)因为资源有限,东北师范大学计算机学院,29,终止(退出exit)状态,中止后进程移入该状态它不再有执行资格表格和其它信息暂时由辅助程序保留例子:为处理用户帐单而累计资源使用情况的财务程序当数据不再需要后,进程(和它的表格)被删除,东北师范大学计算机学院,30,4)具有挂起操作的进程状态转换图,有的系统有时希望能人为地把进程挂起,使之处于静止状态,以便研究其执行情况或对它进行修改。下图示出了具有挂起状态的进程状态演变图。,图25 具有挂起状态的进程状态演变图,东北师范大学计算机学
17、院,31,五状态进程模型,准备退出:父进程可中止子进程,东北师范大学计算机学院,32,七状态进程模型,东北师范大学计算机学院,33,5)新状态转换(中期调度),阻塞-阻塞挂起当所有进程都阻塞,OS会安排空间让一就绪进程进入内存阻塞挂起-就绪挂起当等待的事件发生时(状态信息已在OS中)就绪挂起-就绪当内存中没有就绪进程时就绪-就绪挂起(较少见)当没有被阻塞的进程,而为了性能上的考虑,必须释放一些内存时,东北师范大学计算机学院,34,2.1.5 进程控制块(PCB),系统为了管理进程设置的一个专门的数据结构,存放了用于描述该进程情况和控制进程运行所需的全部信息。系统利用PCB来控制和管理进程,所以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chapter21new 第二
链接地址:https://www.31ppt.com/p-5338747.html