进程管理part1.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程 管理 part1
- 资源描述:
-
第二章 进 程 管 理 Heb Nomal University Department of Computer Science12.1 进程的基本概念进程的基本概念 2.1.1 程序的顺序执行及其特征程序的顺序执行及其特征 1.程序的顺序执行程序的顺序执行 仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。S1:a =x+y;S2:b =a-5;S3:c =b+1;第二章 进 程 管 理 Heb Nomal University Department of Computer Science2图 2-1 程序的顺序执行 第二章 进 程 管 理 Heb Nomal University Department of Computer Science32.程序顺序执行时的特征程序顺序执行时的特征(1)顺序性:(2)封闭性:(3)可再现性:第二章 进 程 管 理 Heb Nomal University Department of Computer Science42.1.2 前趋图前趋图 前前趋趋图图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描描述述进进程程之之间间执执行行的的前前后后关系关系。图图中中的的每每个个结结点点可可用用于于描描述述一一个个程程序序段段或或进进程程,乃乃至至一一条条语语句句;结结点点间间的的有有向向边边则则用用于于表表示示两两个个结结点点之之间间存存在在的的偏偏序序(Partial Order)或或前前趋趋关系关系(Precedence Relation)“”。=(Pi,Pj)|Pi must complete before Pj may start,如果(Pi,Pj),可写成PiPj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初初始始结结点点(Initial Node),把没有后继的结点称为终止结点终止结点(Final Node)。第二章 进 程 管 理 Heb Nomal University Department of Computer Science5 每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。IiCiPi 和和 S1S2S3 前面的图前面的图2-1中,存在着前驱关系:中,存在着前驱关系:第二章 进 程 管 理 Heb Nomal University Department of Computer Science6图 2-2对于图 2-2所示的图,试判断是否前趋图:图第二章 进 程 管 理 Heb Nomal University Department of Computer Science7对于图 2-2(a)所示的前趋图,存在下述前趋关系:P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P9或表示为: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)中却有着下述的前趋关系:S2S3,S3S2 图第二章 进 程 管 理 Heb Nomal University Department of Computer Science82.1.3 程序的并发执行及其特征程序的并发执行及其特征 1.程序的并发执行程序的并发执行 图 2-3 并发执行时的前趋图 第二章 进 程 管 理 Heb Nomal University Department of Computer Science9在该例中存在下述前趋关系:IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a=x+2 S2:b=y+4 S3:c=a+b S4:d=c+b 图 2-4 四条语句的前趋关系第二章 进 程 管 理 Heb Nomal University Department of Computer Science102.程序并发执行时的特征程序并发执行时的特征 1)间断性2)失去封闭性 3)不可再现性 例例如如,有有两两个个循循环环程程序序A和和B,它它们们共共享享一一个个变变量量N。程程序序A每每执执行行一一次次时时,都都要要做做N=N+1操操作作;程程序序B每每执执行行一一次次时时,都都要要执执行行Print(N)操操作作,然然后再将后再将N置成置成“0”。程序。程序A和和B以不同的速度运行。以不同的速度运行。(1)N=N+1在在Print(N)和和N=0之前,此时得到的之前,此时得到的N值分别为值分别为n+1,n+1,0。(2)N=N+1在在Print(N)和和N=0之后,此时得到的之后,此时得到的N值分别为值分别为n,0,1。(3)N=N+1在在Print(N)和和N=0之间,此时得到的之间,此时得到的N值分别为值分别为n,n+1,0。第二章 进 程 管 理 Heb Nomal University Department of Computer Science112.1.4 进程的特征与状态进程的特征与状态 1.进程的特征和定义进程的特征和定义 1)结构特征2)动态性 3)并发性 4)独立性 5)异步性 第二章 进 程 管 理 Heb Nomal University Department of Computer Science12程序与进程之间的区别程序与进程之间的区别进程更能真实地描述进程更能真实地描述并发并发,而程序不能,而程序不能进程是由进程是由程序,数据和控制块程序,数据和控制块三部分组成的三部分组成的程序是静态的,进程是程序是静态的,进程是动态动态的的进程有进程有生命周期生命周期,有诞生有消亡,短暂的;而程序是,有诞生有消亡,短暂的;而程序是相对长久的相对长久的一个程序可对应一个程序可对应多个多个进程,反之亦然进程,反之亦然进程具有进程具有创建其他进程创建其他进程的功能,而程序没有的功能,而程序没有第二章 进 程 管 理 Heb Nomal University Department of Computer Science13 较典型的进程定义有:较典型的进程定义有:(1)进程是程序的一次执行。进程是程序的一次执行。(2)进进程程是是一一个个程程序序及及其其数数据据在在处处理理机机上上顺顺序序执执行行时时所所发生的活动。发生的活动。(3)进进程程是是程程序序在在一一个个数数据据集集合合上上运运行行的的过过程程,它它是是系系统进行资源分配和调度的一个独立单位。统进行资源分配和调度的一个独立单位。在在引引入入了了进进程程实实体体的的概概念念后后,我我们们可可以以把把传传统统OS中中的的进进程程定定义义为为:“进进程程是是进进程程实实体体的的运运行行过过程程,是是系系统统进进行行资源分配和调度的一个独立单位资源分配和调度的一个独立单位”。第二章 进 程 管 理 Heb Nomal University Department of Computer Science142.进程的三种基本状态进程的三种基本状态 1)就绪就绪(Ready)状态状态一个进程已经具备运行条件,一个进程已经具备运行条件,一个进程已经具备运行条件,一个进程已经具备运行条件,但由于无但由于无但由于无但由于无CPUCPU暂时不能运行的暂时不能运行的暂时不能运行的暂时不能运行的状态(当调度给其状态(当调度给其状态(当调度给其状态(当调度给其CPUCPU时,立时,立时,立时,立即可以运行)即可以运行)即可以运行)即可以运行)2)执行状态执行状态进程占有进程占有进程占有进程占有CPUCPU,并在,并在,并在,并在CPUCPU上运行上运行上运行上运行3)阻塞状态阻塞状态 又叫等待态、封锁态、睡眠态指进程又叫等待态、封锁态、睡眠态指进程又叫等待态、封锁态、睡眠态指进程又叫等待态、封锁态、睡眠态指进程因等待某种事件的发生而暂时不能运因等待某种事件的发生而暂时不能运因等待某种事件的发生而暂时不能运因等待某种事件的发生而暂时不能运行的状态(即使行的状态(即使行的状态(即使行的状态(即使CPUCPU空闲,该进程空闲,该进程空闲,该进程空闲,该进程也不可运行)也不可运行)也不可运行)也不可运行)图 2-5 进程的三种基本状态及其转换 第二章 进 程 管 理 Heb Nomal University Department of Computer Science15进程的状态及其转换进程的状态及其转换运行运行运行运行就绪就绪就绪就绪等待等待等待等待在进程运行过程中,由在进程运行过程中,由于进程自身进展情况及于进程自身进展情况及外界环境的变化,这三外界环境的变化,这三种基本状态可以依据一种基本状态可以依据一定的条件相互转换定的条件相互转换就绪就绪 -运行运行调度程序选择一个新的进程运行调度程序选择一个新的进程运行运行运行 -就绪就绪运行进程用完了时间片运行进程用完了时间片运行进程被中断,因为一高优先级运行进程被中断,因为一高优先级进程处于就绪状态进程处于就绪状态运行运行 -等待等待当一进程必须等待时当一进程必须等待时OSOS尚未完成服务尚未完成服务对一资源的访问尚不能进行对一资源的访问尚不能进行初始化初始化I/O I/O 且必须等待结果且必须等待结果等待某一进程提供输入等待某一进程提供输入 (IPC)(IPC)等待等待 -就绪就绪当所等待的事件发生时当所等待的事件发生时第二章 进 程 管 理 Heb Nomal University Department of Computer Science16增加增加:创建状态,终止状态创建状态,终止状态三种进程状态三种进程状态-五状态进程模型五状态进程模型创建创建(新新new)new)状态状态OS OS 已完成为创建一进程所必要的工作已完成为创建一进程所必要的工作已构造了进程标识符已构造了进程标识符已创建了管理进程所需的表格已创建了管理进程所需的表格但还没有允许执行该进程但还没有允许执行该进程 (尚未同意尚未同意)因为资源有限因为资源有限终止(退出终止(退出exit)exit)状态状态中止后进程移入该状态中止后进程移入该状态它不再有执行资格它不再有执行资格表格和其它信息暂时由辅助程序保留表格和其它信息暂时由辅助程序保留一旦其他进程完成了对终止态进程的信息一旦其他进程完成了对终止态进程的信息抽取之后,系统将删除该进程。抽取之后,系统将删除该进程。第二章 进 程 管 理 Heb Nomal University Department of Computer Science17五状态进程模型五状态进程模型NULL新建态:创建一个子进程。新建态:创建一个子进程。新建态新建态就绪态:系统完成了进程创建操作,且当前系就绪态:系统完成了进程创建操作,且当前系统的性能和内存的容量均允许。统的性能和内存的容量均允许。运行态运行态终止态:一个进程到达自然结束点,或出现了终止态:一个进程到达自然结束点,或出现了无法克服的错误,或被操作系统所终结,或被其他有终无法克服的错误,或被操作系统所终结,或被其他有终止权的进程所终结。止权的进程所终结。终止态终止态NULL:完成善后操作。:完成善后操作。就绪态就绪态终止态:某些操作系统允许父进程终结子进程。终止态:某些操作系统允许父进程终结子进程。等待态等待态终止态:某些操作系统允许父进程终结子进程。终止态:某些操作系统允许父进程终结子进程。第二章 进 程 管 理 Heb Nomal University Department of Computer Science183.挂起状态挂起状态1)引入挂起状态的原因引入挂起状态的原因 由于进程的不断创建,系统资源已不能满足进程运行的要求,就必须由于进程的不断创建,系统资源已不能满足进程运行的要求,就必须由于进程的不断创建,系统资源已不能满足进程运行的要求,就必须由于进程的不断创建,系统资源已不能满足进程运行的要求,就必须把某些进程挂起(把某些进程挂起(把某些进程挂起(把某些进程挂起(suspendsuspend),对换到磁盘镜像区中,暂时不参与进),对换到磁盘镜像区中,暂时不参与进),对换到磁盘镜像区中,暂时不参与进),对换到磁盘镜像区中,暂时不参与进程调度,起到平滑系统操作负荷的目的。程调度,起到平滑系统操作负荷的目的。程调度,起到平滑系统操作负荷的目的。程调度,起到平滑系统操作负荷的目的。(1)终端用户的请求。(2)父进程请求。(3)负荷调节的需要。(4)操作系统的需要。第二章 进 程 管 理 Heb Nomal University Department of Computer Science192)进程状态的转换进程状态的转换(1)活动就绪活动就绪静止就绪。静止就绪。(2)活动阻塞活动阻塞静止阻塞。静止阻塞。(3)静止就绪静止就绪活动就绪。活动就绪。(4)静止阻塞静止阻塞活动阻塞。活动阻塞。图 2-6 具有挂起状态的进程状态图 执行执行静止就绪。静止就绪。挂起挂起 激活激活 就绪状态就绪状态(Ready):进程在内存且可立即进入运行状态:进程在内存且可立即进入运行状态阻塞状态阻塞状态(Blocked):进程在内存并等待某事件的出现:进程在内存并等待某事件的出现静止阻塞静止阻塞/阻塞挂起状态(阻塞挂起状态(Blocked,suspend):进程在外):进程在外存并等待某事件的出现存并等待某事件的出现静止就绪静止就绪/就绪挂起状态(就绪挂起状态(Ready,suspend):进程在外存,):进程在外存,但只要进入内存,即可运行但只要进入内存,即可运行第二章 进 程 管 理 Heb Nomal University Department of Computer Science20七状态进程模型七状态进程模型活动活动挂起挂起事件事件发生发生事件事件发生发生等待等待事件事件挂起挂起调度调度超时超时释放释放活动活动挂起挂起挂起(挂起(Suspend):把一个进程从内存转到外存可):把一个进程从内存转到外存可能有以下几种情况能有以下几种情况活动阻塞活动阻塞静止阻塞静止阻塞:没有进程处于就绪状态:没有进程处于就绪状态或就绪进程要求更多内存资源时,发生这种转或就绪进程要求更多内存资源时,发生这种转换,以提交新进程或运行就绪进程换,以提交新进程或运行就绪进程活动就绪活动就绪静止就绪静止就绪:当有高优先级阻塞(系:当有高优先级阻塞(系统认为会很快就绪的)进程和低优先级就绪进统认为会很快就绪的)进程和低优先级就绪进程时,系统会选择挂起低优先级就绪进程程时,系统会选择挂起低优先级就绪进程运行运行静止就绪静止就绪:对抢占式系统,当有高优先:对抢占式系统,当有高优先级静止阻塞进程因事件出现而进入静止就绪时,级静止阻塞进程因事件出现而进入静止就绪时,系统可能会把运行进程转到静止就绪状态系统可能会把运行进程转到静止就绪状态第二章 进 程 管 理 Heb Nomal University Department of Computer Science21七状态进程模型七状态进程模型活动活动挂起挂起事件事件发生发生事件事件发生发生等待等待事件事件挂起挂起调度调度超时超时释放释放活动活动挂起挂起激活(激活(Activate):把一个进程从外存转到):把一个进程从外存转到内存;可能有以下几种情况:内存;可能有以下几种情况:静止就绪静止就绪活动就绪活动就绪:没有就绪进程或:没有就绪进程或挂起就绪进程优先级高于就绪进程时,挂起就绪进程优先级高于就绪进程时,发生转换发生转换静止阻塞静止阻塞活动阻塞活动阻塞:当一个进程释放:当一个进程释放足够内存时,系统会把一个高优先级阻足够内存时,系统会把一个高优先级阻塞挂起(系统认为会很快出现所等待的塞挂起(系统认为会很快出现所等待的事件)进程转换为阻塞状态。事件)进程转换为阻塞状态。第二章 进 程 管 理 Heb Nomal University Department of Computer Science22进程程序进程程序进程数据进程数据栈栈用于过程调用和参数传递用于过程调用和参数传递进程控制块进程控制块PCB(PCB(进程属性进程属性)处于核心段处于核心段用户进程不能直接访问、修改自己的用户进程不能直接访问、修改自己的PCB*进程要素进程要素第二章 进 程 管 理 Heb Nomal University Department of Computer Science232.1.5 进程控制块进程控制块 1.进程控制块的作用进程控制块的作用 进进程程控控制制块块的的作作用用是是使使一一个个在在多多道道程程序序环环境境下下不不能能独独立立运运行行的的程程序序(含含数数据据),成成为为一一个个能能独独立立运运行行的的基基本本单单位位,一一个个能能与与其其它它进进程程并并发发执执行行的的进进程程。或或者者说说,OS是是根据根据PCB来对并发执行的进程进行控制和管理的来对并发执行的进程进行控制和管理的。系统为了管理进程设置的系统为了管理进程设置的一个专门的数据结构一个专门的数据结构,用它,用它来来记录进程的外部特征,描述进程的运动变化过程记录进程的外部特征,描述进程的运动变化过程 系统利用系统利用PCBPCB来控制和管理进程,所以来控制和管理进程,所以PCBPCB是系统是系统感知感知进程存在的唯一标志进程存在的唯一标志进程与进程与PCBPCB是一一对应的是一一对应的第二章 进 程 管 理 Heb Nomal University Department of Computer Science24PCBPCB的内容的内容第二章 进 程 管 理 Heb Nomal University Department of Computer Science252.进程控制块中的信息进程控制块中的信息 1)进程标识符进程标识符 进程标识符用于唯一地标识一个进程。一个进程通常有两种标识符:(1)内内部部标标识识符符。在所有的操作系统中,都为每一个进 程赋予一个唯一的数数字字标标识识符符,它通常是一个进程的序号。设置内部标识符主要是为了方便系统使用。(2)外外部部标标识识符符。它由创建者提供,通常是由由字字母母、数数字字组组成成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。PCB中的信息包含:中的信息包含:进程标识符,处理机状态,进程调度信息,进程控制信息。进程标识符,处理机状态,进程调度信息,进程控制信息。第二章 进 程 管 理 Heb Nomal University Department of Computer Science26 2)处理机状态处理机状态 处理机状态信息主要是由处理机的各种寄存器中的内容组成的。通通用用寄寄存存器器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有 832个通用寄存器,在RISC结构的计算机中可超过100 个;指令计数器指令计数器,存放了要访问的下一条指令的地址;程程序序状状态态字字PSW,其中含有状态信息,如条件码(体体现现当当前前指指令令执执行行结结果果的的各各种种状状态态信信息息。如如有有无无进进位位(CY位位),有有无无溢溢出出(OV位位),结结果果正正负负(SF位位),结果是否为零(结果是否为零(ZF位),奇偶标志位(位),奇偶标志位(P位)等)、位)等)、执行方式、中断屏蔽标志等;用用户户栈栈指指针针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。第二章 进 程 管 理 Heb Nomal University Department of Computer Science27 3)进程调度信息进程调度信息 在PCB中还存放一些与进程调度和进程对换有关的信息,包括:进进程程状状态态,指明进程的当前状态,作为进程调度和对换时的依据;进进程程优优先先级级,用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;进进程程调调度度所所需需的的其其它它信信息息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;事事件件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。第二章 进 程 管 理 Heb Nomal University Department of Computer Science28 4)进程控制信息进程控制信息 进程控制信息包括:程程序序和和数数据据的的地地址址,是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;资资源源清清单单,是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;链链接接指指针针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。第二章 进 程 管 理 Heb Nomal University Department of Computer Science29PCBPCB的内容的内容进程描述信息进程描述信息进程描述信息进程描述信息进程控制信息进程控制信息进程控制信息进程控制信息CPUCPU现场现场现场现场保护保护保护保护信息信息信息信息注意:不同操作系统中对进程的控制和管理机制不一样,注意:不同操作系统中对进程的控制和管理机制不一样,PCBPCB中的信息多少也不一样中的信息多少也不一样第二章 进 程 管 理 Heb Nomal University Department of Computer Science303.进程控制块的组织方式进程控制块的组织方式 1)链接方式 图 2-7 PCB链接队列示意图 链接方式,索引方式 第二章 进 程 管 理 Heb Nomal University Department of Computer Science312)索引方式 图 2-8 按索引方式组织PCB 第二章 进 程 管 理 Heb Nomal University Department of Computer Science322.2 进进 程程 控控 制制 2.2.1 进程的创建进程的创建 1.进程图(Process Graph)图 2-9 进程树 u处理器管理的一个主要工作是对进程的控制,处理器管理的一个主要工作是对进程的控制,u包括:创建进程、阻塞进程、唤醒进程、挂起进程、激活进程、包括:创建进程、阻塞进程、唤醒进程、挂起进程、激活进程、终止进程和撤销进程等终止进程和撤销进程等第二章 进 程 管 理 Heb Nomal University Department of Computer Science332.引起创建进程的事件引起创建进程的事件(1)用户登录。用户登录。(2)作业调度。作业调度。(3)提供服务。提供服务。(4)应用请求。应用请求。在终端上交互式的登录。在终端上交互式的登录。在终端上交互式的登录。在终端上交互式的登录。提交一个批处理作业。提交一个批处理作业。提交一个批处理作业。提交一个批处理作业。操作系统创建一个服务进程。操作系统创建一个服务进程。操作系统创建一个服务进程。操作系统创建一个服务进程。存在的进程孵化(存在的进程孵化(存在的进程孵化(存在的进程孵化(spawnspawn)新的进程。)新的进程。)新的进程。)新的进程。第二章 进 程 管 理 Heb Nomal University Department of Computer Science343.进程的创建进程的创建(Creation of Progress)(1)申请空白申请空白PCB。(2)为新进程分配资源。为新进程分配资源。(3)初始化进程控制块。初始化进程控制块。(4)将新进程插入就绪队列,或直接投入运行。将新进程插入就绪队列,或直接投入运行。第二章 进 程 管 理 Heb Nomal University Department of Computer Science352.2.2 进程的终止进程的终止 1.引起进程终止引起进程终止(Termination of Process)的事件的事件 1)正常结束 在任何计算机系统中,都应有一个用于表示进程已经运行完成的指示。例例如如,在在批批处处理理系系统统中中,通通常常在在程程序序的的最最后后安安排排一一条条Holt指指令令或或终终止止的的系系统统调调用用。当当程程序序运运行行到到Holt指指令令时时,将将产产生生一一个个中中断断,去去通通知知OS本本进进程程已已经经完完成成。在在分分时时系系统统中中,用用户户可可利利用用Logs off去去表表示示进进程程运行完毕,运行完毕,此时同样可产生一个中断,去通知此时同样可产生一个中断,去通知OS进程已运行完毕。进程已运行完毕。第二章 进 程 管 理 Heb Nomal University Department of Computer Science36 2)异常结束异常结束 在在进进程程运运行行期期间间,由由于于出出现现某某些些错错误误和和故故障障而而迫迫使使进进程程终止。这类异常事件很多,常见的有:终止。这类异常事件很多,常见的有:越界错误。越界错误。这是指程序所访问的存储区,已越出该进程的区域;这是指程序所访问的存储区,已越出该进程的区域;保保护护错错。进进程程试试图图去去访访问问一一个个不不允允许许访访问问的的资资源源或或文文件件,或或者者以以不不适当的方式进行访问,例如,进程试图去写一个只读文件;适当的方式进行访问,例如,进程试图去写一个只读文件;非非法法指指令令。程程序序试试图图去去执执行行一一条条不不存存在在的的指指令令。出出现现该该错错误误的的原原因因,可能是程序错误地转移到数据区,把数据当成了指令;可能是程序错误地转移到数据区,把数据当成了指令;特权指令错。特权指令错。用户进程试图去执行一条只允许用户进程试图去执行一条只允许OS执行的指令;执行的指令;运行超时。运行超时。进程的执行时间超过了指定的最大值;进程的执行时间超过了指定的最大值;等待超时。等待超时。进程等待某事件的时间,进程等待某事件的时间,超过了规定的最大值;超过了规定的最大值;算术运算错。算术运算错。进程试图去执行一个被禁止的运算,例如,被进程试图去执行一个被禁止的运算,例如,被0除;除;I/O故障。故障。这是指在这是指在I/O过程中发生了错误等。过程中发生了错误等。第二章 进 程 管 理 Heb Nomal University Department of Computer Science37 3)外界干预外界干预 外界干预并非指在本本进进程程运运行行中中出出现现了了异异常常事事件件,而是指进程应外界的请求而终止运行。而是指进程应外界的请求而终止运行。这些干预有:操操作作员员或或操操作作系系统统干干预预。由由于于某某种种原原因因,例例如如,发发生生了了死死锁锁,由操作员或操作系统终止该进程;由操作员或操作系统终止该进程;父父进进程程请请求求。由由于于父父进进程程具具有有终终止止自自己己的的任任何何子子孙孙进进程程的的权权利利,因而当父进程提出请求时,系统将终止该进程;因而当父进程提出请求时,系统将终止该进程;父父进进程程终终止止。当当父父进进程程终终止止时时,OS也也将将他他的的所所有有子子孙孙进进程程终终止。止。第二章 进 程 管 理 Heb Nomal University Department of Computer Science38 2.进程的终止过程进程的终止过程 (1)根据被终止进程的标识符,从PCB集合中找出该进程的PCB,从中读出该进程的状态。(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。(3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。(4)将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。(5)将被终止进程(它的PCB)从所在队列(或链表)中移出,将它的将它的PCBPCB归还到归还到PCBPCB池池。第二章 进 程 管 理 Heb Nomal University Department of Computer Science392.2.3 进程的阻塞与唤醒进程的阻塞与唤醒1.引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件 1)请求系统服务 2)启动某种操作 3)新数据尚未到达 4)无新工作可做 第二章 进 程 管 理 Heb Nomal University Department of Computer Science40 2.进程阻塞过程进程阻塞过程 正正在在执执行行的的进进程程,当当发发现现上上述述某某事事件件时时,由由于于无无法法继继续续执执行行,于于是是进进程程便便通通过过调调用用阻阻塞塞原原语语block把把自自己己阻阻塞塞。可可见见,进程的阻塞是进程自身的一种主动行为。进程的阻塞是进程自身的一种主动行为。进进入入block过过程程后后,由由于于此此时时该该进进程程还还处处于于执执行行状状态态,所所以以应应立立即即停停止止执执行行,保保保保存存存存现现现现场场场场信信信信息息息息到到到到PSWPSW;把把进进程程控控制制块块中中的的现现行行状状态态由由“执执行行”改改为为阻阻塞塞,将将PCB插插入入阻阻塞塞队队列列。如如果果系系统统中中设设置置了了因因不不同同事事件件而而阻阻塞塞的的多多个个阻阻塞塞队队列列,则则应应将将本本进进程插入到具有相同事件的阻塞程插入到具有相同事件的阻塞(等待等待)队列。队列。最最后后,转转调调度度程程序序进进行行重重新新调调度度,将将处处理理机机分分配配给给另另一一就就绪绪进进程程,并并进进行行切切换换,亦亦即即,保保留留被被阻阻塞塞进进程程的的处处理理机机状状态态(在在PCB中中),再再按按新新进进程程的的PCB中中的的处处理理机机状状态态设设置置CPU的的环境。环境。第二章 进 程 管 理 Heb Nomal University Department of Computer Science41 3.进程唤醒过程进程唤醒过程 当被阻塞进程所期待的事件出现时,如I/O完成或其所期待的数据已经到达,则由有关进程(比如,用完并释放了该I/O设备的进程)调用唤唤醒醒原原语语wakeup(),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。第二章 进 程 管 理 Heb Nomal University Department of Computer Science422.2.4 进程的挂起与激活进程的挂起与激活 1.进程的挂起进程的挂起 当出现了引起进程挂起的事件时,比如,用户进程请求将自己挂起,或父进程请求将自己的某个子进程挂起,系统将利用挂挂起起原原语语suspend()将指定进程或处于阻塞状态的进程挂起。挂起原语的执行过程是:首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状态的进程,则将之改为静止阻塞。为了方便用户或父进程考查该进程的运行情况而把该进程的PCB复制到某指定的内存区域。最后,若被挂起的进程正在执行,则转向调度程序重新调度。第二章 进 程 管 理 Heb Nomal University Department of Computer Science43 2.进程的激活过程进程的激活过程 当发生激活进程的事件时,例如,父进程或用户进程请求激活指定进程,若该进程驻留在外存而内存中已有足够的空间时,则可将在外存上处于静止就绪状态的进程换入内存。这时,系统将利用激活原语激活原语active()将指定进程激活。激活原语先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪,便将之改为活动就绪;若为静止阻塞便将之改为活动阻塞。假假如如采采用用的的是是抢抢占占调调度度策策略略,则则每每当当有有新新进进程程进进入入就就绪绪队队列列时时,应应检检查查是是否否要要进进行行重重新新调调度度,即即由由调调度度程程序序将将被被激激活活进进程程与与当当前前进进程程进进行行优优先先级级的的比比较较,如如果果被被激激活活进进程程的的优优先先级级更更低低,就就不不必必重重新新调调度度;否否则,立即剥夺当前进程的运行,把处理机分配给刚被激活的进程。则,立即剥夺当前进程的运行,把处理机分配给刚被激活的进程。挂起原语既可由进程自己也可由其他进程调用,挂起原语既可由进程自己也可由其他进程调用,挂起原语既可由进程自己也可由其他进程调用,挂起原语既可由进程自己也可由其他进程调用,但激活原语却只能由其他进程调用但激活原语却只能由其他进程调用但激活原语却只能由其他进程调用但激活原语却只能由其他进程调用第二章 进 程 管 理 Heb Nomal University Department of Computer Science442.3 进进 程程 同同 步步 2.3.1 进程同步的基本概念进程同步的基本概念 1.两种形式的制约关系两种形式的制约关系(1)间接相互制约关系。(2)直接相互制约关系。第二章 进 程 管 理 Heb Nomal University Department of Computer Science452.临界资源临界资源(Critical Resouce)生生产产者者-消消费费者者(producer-consumer)问问题题是一个著名的进程同步问题。它描述的是:有有一一群群生生产产者者进进程程在在生生产产产产品品,并将这些产品提供给消费者进程去消费。并将这些产品提供给消费者进程去消费。为为使使生生产产者者进进程程与与消消费费者者进进程程能能并并发发执执行行,在在两两者者之之间间设设置置了了一一个个具具有有n个个缓缓冲冲区区的的缓缓冲冲池池,生生产产者者进进程程将将它它所所生生产产的的产产品品放放入入一一个个缓缓冲冲区区中中;消消费费者者进进程程可可从从一一个个缓缓冲冲区区中中取取走走产产品品去去消消费费。尽尽管管所所有有的的生生产产者者进进程程和和消消费费者者进进程程都都是是以以异异步步方方式式运运行行的的,但但它它们们之之间间必必须须保保持持同同步步,即即不不允允许许消消费费者者进进程程到到一一个个空空缓缓冲冲区区去去取取产产品品;也也不不允允许许生生产产者者进进程程向向一一个个已已装装满满产产品品且且尚尚未未被被取取走走的的缓缓冲冲区中投放产品。区中投放产品。第二章 进 程 管 理 Heb Nomal University Department of Computer Science46Var n,integer;type item=;var buffer:array 0,1,n-1 of item;in,out:0,1,n-1;counter:0,1,n;指针指针in和和out初始化为初始化为1。我们可利用一个数数组组来表示上述的具有n个(0,1,n-1)缓冲区的缓冲池。用输输入入指指针针in来指示下一个可投放产品的缓冲区,每当生产者进程生产并投放一个产品后,输入指针加1;用一个输输出出指指针针out来指示下一个可从中获取产品的缓冲区,每当消费者进程取走一个产品后,输出指针加1。由于这里的缓冲池是组织成循环缓冲的,故应把输输入入指指针针加加1表示成 in=(in+1)mod n;输输出出指指针针加加1表示成out=(out+1)mod n展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




进程管理part1.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4813499.html