您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第二章 进程管理(第4、5、6、7、8、9讲)
2020/1/23阜阳师范学院计算机与信息学院12020/1/23阜阳师范学院计算机与信息学院22.1进程的基本概念2.1.1程序的顺序执行及其特征2.1.2前趋图2.1.3程序的并发执行及其特征2.1.4进程的特征与状态2.1.5进程控制块2020/1/23阜阳师范学院计算机与信息学院31.程序的顺序执行2.1.1程序的顺序执行及其特征P2C2I2P1C1I1例:每个程序有三个顺序执行的操作——I:输入操作C:计算操作P:输出操作2020/1/23阜阳师范学院计算机与信息学院42.程序顺序执行时的特征(1)顺序性(不能并行)处理机的操作严格按照程序所规定的顺序执行。(2)封闭性(程序运行时独占全机资源)程序一旦开始执行,其计算结果不受外界因素的影响。(3)可再现性(每次运行结果相同)程序执行的结果与它的执行速度无关,而只与初始条件有关。2.1.1程序的顺序执行及其特征2020/1/23阜阳师范学院计算机与信息学院5前趋图是一个有向无循环图(DAG),用于描述程序段或进程之间执行的前后关系。结点:描述一个程序段或进程,或一条语句。有向边:结点之间的偏序或前趋关系“”PiPj:Pi必须在Pj开始之前完成则Pi是Pj的直接前趋,Pj是Pi的直接后继初始结点:没有前趋的结点终止结点:没有后继的结点2.1.2前趋图2020/1/23阜阳师范学院计算机与信息学院6P2P6P5P1P4P3P7P8P9前趋关系:P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P92.1.2前趋图2020/1/23阜阳师范学院计算机与信息学院7或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)}S3S2S1前趋关系:S2S3,S3S2,不可能满足2.1.2前趋图注意:前趋图中绝对不能出现循环2020/1/23阜阳师范学院计算机与信息学院8I1I2I3I4C1C3C2P1P2例如:I1、C1、P1的执行必须严格按照I1,C1,P1的顺序,而C1与I2,I3、C2和P1是可以重叠执行的。2.1.3程序的并发执行及其特征1.程序的并发执行可以重迭进行2020/1/23阜阳师范学院计算机与信息学院9S3S2S1S4又如:四个程序段S1:a:=x+2S2:b:=y+4S3:c:=a+bS4:d:=c+bS1、S2可以并发执行2.1.3程序的并发执行及其特征2020/1/23阜阳师范学院计算机与信息学院102.程序并发执行时的特征(1)间断性相互制约导致并发程序具有“执行——暂停——执行”这种间断性的活动规律。(2)失去封闭性多道程序共享系统的资源,资源的状态由多道程序来改变,程序运行失去封闭性。(3)不可再现性程序在并发执行时,失去封闭性导致其失去可再现性。2.1.3程序的并发执行及其特征2020/1/23阜阳师范学院计算机与信息学院11程序AL1:N:=N+1程序BL2:PRINT(N);N:=0;设共享变量N初始为5,则会产生3种执行结果。6,6,05,0,15,6,02.1.3程序的并发执行及其特征2020/1/23阜阳师范学院计算机与信息学院12①结构特征2.1.4进程的特征与状态1.进程的特征与定义(1)进程的特征:PCB进程控制块程序段数据段动态特征的集中反映描述要完成的功能描述对象及工作区2020/1/23阜阳师范学院计算机与信息学院13②动态性——进程的生命周期:进程由创建而产生,由调度而执行,由撤销而消亡。③并发性——多个进程实体同存于内存中,在一段时间内同时运行,以提高资源利用率。④独立性——进程实体是一个能独立运行(独立接受调度)、独立分配资源的基本单位。⑤异步性——进程按各自独立的、不可预知的速度向前推进。2.1.4进程的特征与状态2020/1/23阜阳师范学院计算机与信息学院14(2)进程(Process)的定义2.1.4进程的特征与状态进程是程序的一次执行。进程是一个程序及其数据在处理机上顺序执行时所发生的活动。进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进程的定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。2020/1/23阜阳师范学院计算机与信息学院15(3)进程与程序的区别(1)程序是进程的静态文本,进程是执行程序的动态过程;(2)进程具有并行特征,程序没有;(3)进程是系统分配调度的独立单位;(4)一个进程可以执行一个或多个程序,几个进程可以同时执行一个程序。2.1.4进程的特征与状态菜谱做菜的过程2020/1/23阜阳师范学院计算机与信息学院162.进程的三种基本状态①就绪状态:当进程已分配到除CPU以外的所有必要资源时,它便处于就绪状态;一旦获得CPU,便立即执行。②执行状态:已获得CPU的进程进入执行状态。③阻塞状态:正在执行的进程,由于发生某个事件而暂时无法执行时,便放弃处理机而进入阻塞状态。2.1.4进程的特征与状态2020/1/23阜阳师范学院计算机与信息学院17进程的三种基本状态以及各状态之间的转换关系2.1.4进程的特征与状态2020/1/23阜阳师范学院计算机与信息学院18(1)引起挂起状态的原因:终端用户的请求父进程请求负荷调节的需要操作系统的需要挂起常被用在进程的对换中,此时挂起进程可以腾内存空间给就绪进程使用。2.1.4进程的特征与状态3.挂起状态2020/1/23阜阳师范学院计算机与信息学院191.活动就绪静止就绪2.活动阻塞静止阻塞3.执行静止就绪(2)进程状态的转换2.1.4进程的特征与状态2020/1/23阜阳师范学院计算机与信息学院204.创建和终止状态(1)创建状态①创建PCB②转入就绪状态并插入就绪队列中(2)终止状态①等待OS进行善后处理②将其PCB清零,并将PCB空间返还系统。2.1.4进程的特征与状态2020/1/23阜阳师范学院计算机与信息学院211.进程控制块的作用●PCB是OS中最重要的记录性机构。●OS是根据PCB来对并发执行的进程进行控制和管理的。●PCB是进程存在的唯一标志●PCB常驻内存。●OS专门开辟PCB区将所有的PCB组织成若干个链表或队列2.1.5进程控制块ProcessControlBlock(PCB)2020/1/23阜阳师范学院计算机与信息学院222.进程控制块中的信息1)进程标识符信息——惟一地标识系统中的每个进程。2)处理机状态信息:由处理机各种寄存器的内容所组成,该类信息使进程被中断后重新执行时能恢复现场从断点处继续运行。3)进程调度信息:存放一些与进程调度和进程对换有关的信息。当前状态——进程当前所处状态,为进程调度只用。优先级——进程需要处理的缓急程度标识。事件——阻塞原因。2.1.5进程控制块2020/1/23阜阳师范学院计算机与信息学院232.进程控制块中的信息4)进程控制信息:程序和数据的地址——程序和数据所在的内存或外存址。队列指针或链接字——处于同状态的进程链接指针。资源清单——进程执行时除CPU外的资源的需求、分配到的资源信息。2.1.5进程控制块2020/1/23阜阳师范学院计算机与信息学院241)链接方式把具有同一状态的PCB用其中的链接字链接成一个队列。3.进程控制块的组织方式2.1.5进程控制块2020/1/23阜阳师范学院计算机与信息学院252)索引方式系统根据所有进程的状态建立几张索引表,把各表的内存首地址记录在内存的专用单元中。索引表的表目中记录了相应状态的某个PCB在PCB表中的地址。3进程控制块的组织方式2020/1/23阜阳师范学院计算机与信息学院26第2章进程管理2.2进程控制2.2.1进程的创建2.2.2进程的终止2.2.3进程的阻塞与唤醒2.2.4进程的挂起与激活2020/1/23阜阳师范学院计算机与信息学院272.2进程控制进程控制是进程管理中最基本的功能,它用于创建和撤销进程,并对进程在整个生命周期中各种状态之间的转换进行有效控制。进程控制是OS的内核通过原语来实现的。2020/1/23阜阳师范学院计算机与信息学院28处理机运行时的两种状态:核心态(管态)和用户态(目态)OS内核运行在核心态,用户进程运行在用户态;用户态时不可直接访问受保护的OS代码;核心态时执行OS代码,可以访问全部进程空间。2.2进程控制原语:由若干条指令构成的“原子操作”过程,作为一个整体而不可分割。许多系统调用就是原语。2020/1/23阜阳师范学院计算机与信息学院292.2.1进程的创建1.进程图描述进程的家族关系的有向树进程Pi创建了进程Pj,则Pi是Pj的父进程,Pj是Pi的子进程,用一条由进程Pi指向进程Pj的有向边来描述。创建父进程的进程为祖进程,由此形成进程树,树根为进程家族的祖先。2.2进程控制ABDKEFLMJIHGC2020/1/23阜阳师范学院计算机与信息学院302.引起创建进程的事件2.2进程控制(1)用户登录。(2)作业调度。(3)提供服务。(4)应用请求。由系统内核创建由自己创建2020/1/23阜阳师范学院计算机与信息学院31创建过程:(1)申请空白PCB(2)为新进程分配资源(3)初始化进程控制块(4)将新进程插入就绪队列3.进程的创建——Creat()2.2进程控制2020/1/23阜阳师范学院计算机与信息学院32创建原语的实现过程2020/1/23阜阳师范学院计算机与信息学院332.2.2进程的终止——Kill()1.引起进程终止的事件1)正常结束2)异常结束3)外界干预2.2进程控制2020/1/23阜阳师范学院计算机与信息学院342.进程的终止过程(1)找到要终止进程的PCB(2)若该进程正在执行,则终止它的执行,并置重新调度标志。(3)终止属于该进程的所有子孙进程(4)释放终止进程所拥有的全部资源(5)将终止进程移出它所在的队列并收回PCB2.2进程控制2020/1/23阜阳师范学院计算机与信息学院35终止原语的实现过程2020/1/23阜阳师范学院计算机与信息学院362.2.3进程的阻塞与唤醒1.引起进程阻塞和唤醒的事件1)请求系统服务2)启动某种操作3)新数据尚未到达4)无新工作可做2.2进程控制2020/1/23阜阳师范学院计算机与信息学院372.进程阻塞过程——Block()调用阻塞原语阻塞自己,中止该进程的执行,将PCB中的状态改为阻塞,并加入到阻塞队列中;然后转进程调度,将处理机分配给另一进程,并进行进程切换以及处理机状态的保护与重新设置。是进程本身的一种主动行为2.2进程控制2020/1/23阜阳师范学院计算机与信息学院383.进程唤醒过程——Wakeup()唤醒原语的执行:把阻塞进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态改为就绪,将PCB插入到就绪队列中。阻塞原语与唤醒原语作用相反,成对使用2.2进程控制2020/1/23阜阳师范学院计算机与信息学院39进程的阻塞与唤醒的实现过程2020/1/23阜阳师范学院计算机与信息学院402.2.4进程的挂起与激活1.进程的挂起——Suspend()(1)检查被挂起进程的状态,若Readya-Readys;Blockeda-Blockeds(2)将该进程PCB复制到内存指定区域,(3)若挂起的进程正在执行,则重新进行进程调度。若挂起是为了对换,则在挂起进程时还必须将它换出外存中。2.2进程控制2020/1/23阜阳师范学院计算机与信息学院412.进程的激活过程——Active()激活原语:检查该进程的状态,若处于静止就绪,则改为活动就绪,若处于静止阻塞,则改为活动阻塞。若进程转换成活动就绪状态,而系统又采用抢占调度策略,则应检查进程是否有权抢占CPU,若有则应进行进程调度。同样,若挂起是为了对换,则在激活被挂起的进程时还必须将它调入内存。2.2进程控制2
本文标题:第二章 进程管理(第4、5、6、7、8、9讲)
链接地址:https://www.777doc.com/doc-3250618 .html