您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统第4章 进程及进程管理分析
第4章进程及进程管理进程及进程管理进程的引入进程概念进程控制进程的相互制约关系进程同步机构进程互斥与同步的实现1进程及进程管理——主要内容进程引入进程及进程管理——进程的引入21.顺序程序及特点(1)计算程序的一次执行过程称为一个计算,它由许多简单操作所组成。(2)程序的顺序执行一个计算的若干操作必须按照严格的先后次序顺序地执行,这类计算过程就是程序的顺序执行过程。进程及进程管理——进程的引入3(3)顺序程序的特点①单道系统的工作情况对用户作业的处理——首先输入用户的程序和数据;然后进行计算;最后打印计算结果,即有三个顺序执行的操作。I:输入操作C:计算操作P:输出操作P2C2I2P1C1I1作业1作业2单用户系统中操作的先后次序图进程及进程管理——进程的引入4②顺序程序的特点顺序性——处理机的操作严格按照程序所规定的顺序执行。封闭性——程序一旦开始执行,其计算结果不受外界因素的影响。可再现性——程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关。进程及进程管理——进程的引入52.并发程序(1)多道系统的工作情况I1I2I3I4C1C3C2P1P2哪些程序段的执行必须是顺序的?为什么?哪些程序段的执行是并行的?为什么?多用户系统中操作的先后次序图对n个用户作业的处理——作业1:I1C1P1作业2:I2C2P2作业n:InCnPn进程及进程管理——进程的引入6(2)什么是程序的并发执行①定义若干个程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的。②三个并发执行的程序段③并行语句记号cobeginS1;S2;;Sn;coendPQR三个并发进程进程及进程管理——进程的引入7(3)并发程序的特点①失去程序的封闭性和可再现性若一个程序的执行可以改变另一个程序的变量,那么,后者的输出就可能有赖于各程序执行的相对速度,即失去了程序的封闭性特点。ⅰ例:讨论共享公共变量的两个程序,执行时可能产生的不同结果。程序A执行时对n做加1的操作;程序B打印出n值,并将它重新置为零。程序An:=n+1;程序Bprint(n);n:=0;共享变量的两个程序进程及进程管理——进程的引入8ⅱ失去程序的封闭性和可再现性的讨论程序A的n:=n+1与程序B的两个语句的关系n的赋值打印的结果n的最终赋值之前10110之后10101之间10100程序An:=n+1;程序Bprint(n);n:=0;共享变量的两个程序进程及进程管理——进程的引入9②程序与计算不再一一对应一个程序可以对应多个计算。例1:I1输入程序段I2In例2:编译1C编译程序编译2编译n③程序并发执行的相互制约间接的相互制约关系——资源共享直接的相互制约关系——公共变量一个程序对应多个计算的例子进程及进程管理——进程的引入103.什么是与时间有关的错误程序并发执行时,若共享了公共变量,其执行结果与各并发程序的相对速度有关,即给定相同的初始条件,若不加以控制,也可能得到不同的结果,此为与时间有关的错误。进程及进程管理——进程的引入进程概念进程及进程管理——进程概念111.进程定义运行暂停运行进程及进程管理——进程概念(1)什么是进程所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程。(2)进程与程序的区别①程序是静态的概念,进程是动态的概念;②进程是一个独立运行的活动单位;③进程是竞争系统资源的基本单位;④一个程序可以对应多个进程,一个进程至少包含一个程序。122.进程的状态②等待状态(wait)进程正等待着某一事件的发生而暂时停止执行。这时,即使给它CPU控制权,它也无法执行。③就绪状态(ready)进程已获得除CPU之外的运行所必需的资源,一旦得到CPU控制权,立即可以运行。(1)进程的基本状态①运行状态(running)该进程已获得运行所必需的资源,它的程序正在处理机上执行。进程及进程管理——进程概念13(2)进程状态的变迁①进程状态可能的变迁运行服务请求(请求I/O等)服务完成/事件来到进程调度时间片到等待就绪×个别系统提供进程状态变迁图进程及进程管理——进程概念14②具有进程基本状态的变迁图运行服务请求(请求I/O等)服务完成/事件来到进程调度等待就绪进程状态变迁图进程及进程管理——进程概念15③讨论进程状态的变迁运行1234等待就绪变迁1——变迁3,是否会发生?需要什么条件?变迁4——变迁3,是否会发生?需要什么条件?进程状态变迁的讨论进程及进程管理——进程概念16①例1:讨论3个排序程序在不同的操作系统环境中执行结果程序A:冒泡排序算法,在屏幕的左1/3处开设窗口显示其排序过程;程序B:堆排序算法,在屏幕的中1/3处开设窗口显示其排序过程;程序C:快速排序算法,在屏幕的右1/3处开设窗口显示其排序过程。讨论在不支持多进程的操作系统下运行和在支持多进程的操作系统下运行的情况(3)讨论在多进程操作系统环境下程序的执行进程及进程管理——进程概念17ⅰ在不支持多进程的操作系统下运行依次运行程序A、程序B、程序C。ⅱ在支持多进程的操作系统下运行建立进程A、B、C;对应的程序分别是程序A、B、C;若系统采用时间片轮转的调度策略,则在屏幕上有3个窗口,同时显示3个排序过程。实际上这3个程序在轮流地占用CPU时间,由于CPU的高速度,使我们看到的是这3个程序在同时执行。进程及进程管理——进程概念18②例2:讨论2个程序在不同的操作系统环境中执行结果程序C:打印工资报表的程序;程序D:计算1000以内所有素数并显示最后结果。讨论在不支持多进程的操作系统下运行和在支持多进程的操作系统下运行。进程及进程管理——进程概念19ⅰ在不支持多进程的操作系统下运行依次运行程序C、程序D,可以看到,先是打印机不停地打印工资报表,打完后,接着运行程序C,不停地计算,最后显示所计算的结果。ⅱ在支持多进程的操作系统下运行建立进程C、D;对应的程序分别是程序C、D;由于进程C是I/O量较大的进程,而进程D是计算量较大的进程,故在系统进程调度的控制下,两个进程并发执行。可以看到打印机不断打印工资报表;而处理机不停地计算,最后屏幕显示计算的结果。进程及进程管理——进程概念203.进程描述(1)什么是进程控制块描述进程与其他进程、系统资源的关系以及进程在各个不同时期所处的状态的数据结构,称为进程控制块PCB(processcontrolblock)。(2)进程的组成进程控制块PCB程序与数据①程序与数据描述进程本身所应完成的功能②PCB进程的动态特征,该进程与其他进程和系统资源的关系。进程组成的示意图进程及进程管理——进程概念(3)进程控制块的主要内容①进程标识符进程符号名或内部id号②进程当前状态本进程目前处于何种状态大量的进程如何组织?21wait_lpt_q_startPCB3PCB7next打印机等待队列结构runningPCB4next运行指针ready_q_startPCB1PCB2PCB9就绪队列结构next进程队列结构示例进程及进程管理——进程概念22③当前队列指针next该项登记了处于同一状态的下一个进程的PCB地址。④进程优先级反映了进程要求CPU的紧迫程度。⑤CPU现场保护区当进程由于某种原因释放处理机时,CPU现场信息被保存在PCB的该区域中。⑥通信信息进程间进行通信时所记录的有关信息。⑦家族联系指明本进程与家族的联系⑧占有资源清单进程及进程管理——进程概念进程控制进程及进程管理——进程控制231.进程控制的概念(1)进程控制的职责对系统中的进程实施有效的管理,负责进程状态的改变。①进程状态变化进程及进程管理——进程控制创建撤销无有消亡等待运行等待唤醒就绪等待②常用的进程控制原语创建原语、撤消原语、阻塞原语、唤醒原语24(2)进程创建①进程创建原语的形式create(name,priority)name为被创建进程的标识符priority为进程优先级②进程创建原语的功能创建一个具有指定标识符的进程,建立进程的PCB结构。进程及进程管理——进程控制25PCB池③进程创建原语的实现ab1进程创建原语的实现框图入口查PCB总链有同名?向系统申请一个空的PCB结构有空PCB?将入口信息填入PCB相应项将PCB入就绪队列将PCB入总链队列返回进程pid出错YN出错PCB池示意图进程创建原语流程图进程及进程管理——进程控制26(3)进程撤销①进程撤销原语的形式当进程完成任务后希望终止自己时使用进程撤消原语。Kill(或exit)②进程撤销原语的功能撤消当前运行的进程。将该进程的PCB结构归还到PCB资源池,所占用的资源归还给父进程,从总链队列中摘除它,然后转进程调度程序。进程及进程管理——进程控制27③进程撤销原语的实现入口由运行指针得当前进程的pid释放本进程所占用的资源给父进程该进程从总链队列中摘下释放PCB结构转进程调度进程撤销原语流程图进程及进程管理——进程控制28(4)进程等待①进程等待原语的形式当进程需要等待某一事件完成时,它可以调用等待原语挂起自己。susp(chan)入口参数chan:进程等待的原因②进程等待原语的功能中止调用进程的执行,并加入到等待chan的等待队列中;最后使控制转向进程调度。进程及进程管理——进程控制29③进程等待原语的实现入口保护进程的CPU现场到PCB结构中置该进程为”等待”状态将该进程PCB结构插入到等待队列中转进程调度进程等待原语流程图进程及进程管理——进程控制30(5)进程唤醒①进程唤醒原语的形式当处于等待状态的进程所期待的事件来到时,由发现者进程使用唤醒原语叫唤醒它。wakeup(chan)入口参数chan:进程等待的原因。②进程唤醒原语的功能当进程等待的事件发生时,唤醒等待该事件的进程。进程及进程管理——进程控制31③进程唤醒原语的实现入口找到该等待队列将队列首进程移出此等待队列将该进程置为”就绪”状态,并将PCB结构插入到就绪队列中返回进程唤醒原语流程图进程及进程管理——进程控制进程之间的相互制约关系进程及进程管理——进程之间的相互制约关系321.进程互斥的概念(1)临界资源①例1:两个进程A、B共享一台打印机设:x代表某航班机座号,p1和p2两个售票进程,售票工作是对变量x加1。这两个进程在一个处理机C上并发执行,分别具有内部寄存器r1和r2。进程及进程管理——进程之间的相互制约关系33②例2:两个进程共享一个变量x两个进程共享一个变量x时,两种可能的执行次序:A:p1:r1:=x;r1:=r1+1;x:=r1;p2:r2:=x;r2:=r2+1;x:=r2;设x的初值为10,两种情况下的执行结果:情况A:x=10+2情况B:x=10+1B:p1:r1:=x;r1:=r1+1;x:=r1;p2:r2:=x;r2:=r2+1;x:=r2;进程及进程管理——进程之间的相互制约关系34临界区是进程中对公共变量(或存储区)进行审查与修改的程序段,称为相对于该公共变量的临界区。③临界资源的定义一次仅允许一个进程使用的资源称为临界资源。硬件:如输入机、打印机、磁带机等软件:如公用变量、数据、表格、队列等(2)临界区x:=x+1;csa{进程A进程Bx:=x+1;csb{进程临界区示意图进程及进程管理——进程之间的相互制约关系35(3)互斥在操作系统中,当某一进程正在访问某一存储区域时,就不允许其他进程来读出或者修改存储区的内容,否则,就会发生后果无法估计的错误。进程间的这种相互制约关系称为互斥。x:=x+1;csa{进程A进程Bx:=x+1;csb{进程临界区示意图进程及进程管理——进程之间的相互制约关系362.进程同步的概念(1)什么是进程同步并发进程在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通消息称为进程同步。(2)进程同步的例①病员就诊看病活动:要病人去化验;等化验结果;继续诊病;化验活动:需要进行化验?
本文标题:操作系统第4章 进程及进程管理分析
链接地址:https://www.777doc.com/doc-4012947 .html