第2章进程管理(1).ppt

上传人:s****8 文档编号:69239696 上传时间:2022-12-31 格式:PPT 页数:47 大小:151KB
返回 下载 相关 举报
第2章进程管理(1).ppt_第1页
第1页 / 共47页
第2章进程管理(1).ppt_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《第2章进程管理(1).ppt》由会员分享,可在线阅读,更多相关《第2章进程管理(1).ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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)静止就绪静

22、止就绪活动就绪活动就绪,静止阻塞静止阻塞活动阻塞活动阻塞 通过激活原语通过激活原语(activate)3)静止阻塞静止阻塞静止就绪静止就绪:当等待的事件发生时当等待的事件发生时静止静止就绪就绪静止静止阻塞阻塞挂挂起起挂起挂起挂起挂起超超时时执行执行活动活动就绪就绪活动活动阻塞阻塞调调度度等待事件等待事件,请求请求I/O事件发生事件发生I/O完成完成激活激活激活激活事件发生事件发生I/O完成完成七状态进程模型七状态进程模型终止终止创建创建释放释放许可许可RunningReadySuspendBlockedSuspendReadyBlockedSuspendSuspendActiveteDisat

23、chTimeoutEvent WaiteEvent OccursEvent OccursSuspendActiveteExitNewReleaseAdmit2.2.3 进程控制块进程控制块1.进程控制块的作用:进程控制块的作用:系统为管理进程设置一个专门的数据结构系统为管理进程设置一个专门的数据结构进程控制块进程控制块(Process Control Block),用它来记用它来记录进程的外部特征,描述进程的运动变化过程录进程的外部特征,描述进程的运动变化过程(从结构的观点上看从结构的观点上看,程序与进程的区别就在于程序与进程的区别就在于有没有有没有PCB)。进程与进程与PCB一一对应一一对应

24、,在进程的整个生命期在进程的整个生命期内内,PCB随进程的创建而产生随进程的终止而消随进程的创建而产生随进程的终止而消失失,系统利用系统利用PCB来控制和管理进程来控制和管理进程,系统根据系统根据PCB感知进程的存在感知进程的存在,所以所以PCB是进程存在的是进程存在的唯唯一标志。一标志。存放控制进程所需的数据存放控制进程所需的数据(进程属性进程属性)。2.PCB中的信息:中的信息:进程标识信息进程标识信息处理器状态信息处理器状态信息(现场信息现场信息)进程调度信息进程调度信息进程控制信息进程控制信息 记录了进程的全貌,作为进程调度和进程记录了进程的全貌,作为进程调度和进程控制的依据和操作对象

25、。控制的依据和操作对象。1)进程标识符进程标识符(在在PCB中中)进程标识符用于唯一地标识一个进程进程标识符用于唯一地标识一个进程外部标识符外部标识符由创建者提供,由字符、数字组成由创建者提供,由字符、数字组成内部标识符内部标识符为了方便系统而设置,为了方便系统而设置,OS中,每个进程中,每个进程有唯一的标识符(有唯一的标识符(PID)2)处理器状态信息处理器状态信息(现场信息现场信息)进程走走停停必须保存处理器的状态信息即进程走走停停必须保存处理器的状态信息即处理器现状处理器现状,它由处理器寄存器内容组成。它由处理器寄存器内容组成。通用寄存器通用寄存器(8 32个个,RISC结构中超过结构中

26、超过100个个)指令计数器指令计数器(下一条指令的地址下一条指令的地址)状态寄存器状态寄存器(程序状态字程序状态字 PSW,如如:EFLAGS寄存器寄存器)用户栈指针用户栈指针(过程和系统调用参数及地址过程和系统调用参数及地址)3)进程调度信息进程调度信息调度信息调度信息进程状态进程状态(如如:运行,就绪,阻塞运行,就绪,阻塞.)进程优先级进程优先级该进程在等待的事件该进程在等待的事件(阻塞原因阻塞原因)调度所需其它信息调度所需其它信息 (如如:等待总时间等待总时间,执行总时间执行总时间)4)进程控制信息进程控制信息程序和数据的地址程序和数据的地址 程序和数据所在的内存程序和数据所在的内存(段

27、段/页表指针页表指针)或外存地址或外存地址进程间同步和通信机制进程间同步和通信机制需要的消息队列指针和信号量等需要的消息队列指针和信号量等所需的和已分配到的资源清单及使用情况所需的和已分配到的资源清单及使用情况除除CPU外的资源外的资源:文件,文件,I/O设备设备.它们的时间使用史它们的时间使用史数据结构信息数据结构信息进程可能需要有指向其他进程可能需要有指向其他PCB的指针的指针,父父-子进程子进程关系及其它结构关系及其它结构3.进程控制块的组织方式进程控制块的组织方式PCB表表:系统把所有系统把所有PCB组织在一起,并把它们放在内存组织在一起,并把它们放在内存的固定区域,就构成了的固定区域

28、,就构成了PCB表表 PCB表的大小决定了系统中最多可同时存在的进程表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度个数,称为系统的并发度(注注:多道程序中的道数与系统并发度不同)多道程序中的道数与系统并发度不同)PCB表组织方式有两种:表组织方式有两种:链接方式、索引方式链接方式、索引方式1)链接方式:链接方式:对具有相同状态的进程,分别各自链接起来组对具有相同状态的进程,分别各自链接起来组成进程成进程PCB链队列:链队列:运行队列、就绪队列、阻塞队列、空闲队列运行队列、就绪队列、阻塞队列、空闲队列空闲指针空闲指针运行指针运行指针就绪指针就绪指针等待等待1指针指针等待等待2指针

29、指针PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCBn.6751821152)索引方式:索引方式:对具有相同状态的进程,分别设置各自的对具有相同状态的进程,分别设置各自的PCB索引表,表明索引表,表明PCB在在PCB表中的地址表中的地址空闲指针空闲指针运行指针运行指针就绪指针就绪指针等待等待1指针指针等待等待2指针指针PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCBn.342765CPU就就 绪绪 队队 列列阻阻 塞塞 队队 列列 1时间片完时间片完进程进程调度调度事件事件1出现出现后备后备队列队列完成完成阻阻 塞塞 队队 列列 2事件事件2出现出现阻阻 塞塞 队队

30、 列列 3事件事件n出现出现.等待事件等待事件1等待事件等待事件2等待事件等待事件n创建创建进程进程进程队列进程队列就绪队列无优先级就绪队列无优先级2.3 进程控制进程控制 处理机的执行状态分为两种处理机的执行状态分为两种系统态系统态(核心态、管态核心态、管态):有特权有特权,能执行所有指令能执行所有指令,能访问所有寄存器和存储区。能访问所有寄存器和存储区。用户态用户态(目态目态):无特权无特权,只能执行规定指令只能执行规定指令,只能只能访访 问指定的寄存器和存储区。问指定的寄存器和存储区。用户程序运行在用户态,它不能执行用户程序运行在用户态,它不能执行OS指令指令不能访问不能访问OS区域,防

31、止对区域,防止对OS的破坏。的破坏。OS内核运行内核运行在系统态。在系统态。进程控制包含在进程控制包含在OS的内核中,它常驻的内核中,它常驻内存,执行效率高。内存,执行效率高。进程控制用原语操作实现。进程控制用原语操作实现。原语操作是原语操作是不可分割不可分割的操作,创建、撤的操作,创建、撤消进程及完成进程各状态之间的转换。由以消进程及完成进程各状态之间的转换。由以下原语完成:下原语完成:进程创建原语进程创建原语进程撤消原语进程撤消原语阻塞原语、唤醒原语阻塞原语、唤醒原语挂起原语、激活挂起原语、激活(解挂解挂)原语原语1.进程图进程图 进程图是用于描述进程家族关系的有向图,子进程图是用于描述进

32、程家族关系的有向图,子进程可以继承父进程所拥有的资源。进程可以继承父进程所拥有的资源。2.3.1 进程的创建进程的创建ABCDFGHEIJ2.进程何时创建进程何时创建?引起创建进程的事件:引起创建进程的事件:用户登录、作业调度、提供服务、应用请求用户登录、作业调度、提供服务、应用请求1)用户登录时用户登录时,由由OS为合法终端创建一个进程为合法终端创建一个进程2)调度到某个批处理作业时调度到某个批处理作业时,由作业调度程序创建由作业调度程序创建3)运行程序请求提供服务运行程序请求提供服务(如如:打印文件打印文件),由由OS创创建建 4)运行中进程因自己的需要运行中进程因自己的需要,由它自己创建

33、子进程由它自己创建子进程如:某应用程序为了加速程序的执行,创建键盘如:某应用程序为了加速程序的执行,创建键盘输入进程、通信进程、计算进程、显示进程等输入进程、通信进程、计算进程、显示进程等3.进程的创建过程进程的创建过程 一旦发现了要求创建新进程的事件一旦发现了要求创建新进程的事件,OS便调用创便调用创建原语建原语,按以下过程创建新进程。按以下过程创建新进程。1)分配一个维一的进程标识符分配一个维一的进程标识符,索取一个空白索取一个空白PCB2)为新进程的程序和数据分配内存空间为新进程的程序和数据分配内存空间3)初始化进程控制块初始化进程控制块 初始化标识符信息初始化标识符信息(填入填入)、处

34、理机的状态信息处理机的状态信息(指指令指针令指针,栈指针栈指针)和控制信息和控制信息(状态状态,优先级优先级.)4)设置相应的链接设置相应的链接如如:把新进程加到就绪队列的链表中把新进程加到就绪队列的链表中1.进程何时进程何时终终止止?1)正常结束正常结束1)批处理系统中批处理系统中,进程已运行完成遇到进程已运行完成遇到 Halt 指指令令2)分时系统中分时系统中,用户退出登录用户退出登录2)异常结束异常结束1)本进程发生出错和故障事件本进程发生出错和故障事件2)存储区越界、保护性错存储区越界、保护性错(如如:写只读文件写只读文件)、特、特权权3)指令错、非法指令指令错、非法指令(如如:程序错

35、转到数据区程序错转到数据区)、算算4)术运算错、运行超时、等待超过时、术运算错、运行超时、等待超过时、I/O 失失败、败、3)外界干预外界干预操作系统干预、父进程请求、父进程操作系统干预、父进程请求、父进程终止终止2.3.2 进程的终止进程的终止(撤消撤消)2.进程的进程的终终止过程止过程 一旦发生终止进程的事件一旦发生终止进程的事件,OS便调用撤消原语便调用撤消原语,按以下过程终止该进程。按以下过程终止该进程。1)从从PCB中读取进程的状态中读取进程的状态2)若进程处于执行态若进程处于执行态,应立即终止该进程的执行应立即终止该进程的执行,并置调度标志为真并置调度标志为真(以便该进程终止后系统

36、重新以便该进程终止后系统重新进行调度进行调度,将处理机分配给新选择的进程将处理机分配给新选择的进程)3)若有子孙进程则将它们全部终止若有子孙进程则将它们全部终止,以防它们失控以防它们失控4)将该进程所占有的全部资源还给父进程或系统将该进程所占有的全部资源还给父进程或系统5)将该进程的将该进程的PCB从从所在队列中移出所在队列中移出2.3.3 进程的阻塞、唤醒、挂起与激活进程的阻塞、唤醒、挂起与激活1.进程的阻塞进程的阻塞 运行状态的进程运行状态的进程,在运行过程中期待某事件发生在运行过程中期待某事件发生,如如:请求系统服务请求系统服务、等待键盘输入等待键盘输入、等待其它进程发送等待其它进程发送

37、的数据的数据、某系统进程完成任务等待新任务某系统进程完成任务等待新任务;当期待请求当期待请求发生时发生时,由进程调用阻塞原语由进程调用阻塞原语(block),将自己阻塞将自己阻塞。阻塞原语使处于运行态的进程停止运行阻塞原语使处于运行态的进程停止运行,将运行现将运行现场保存在其场保存在其 PCB 的的CPU 现场保护区现场保护区,然后将然后将 PCB中的中的现行状态由运行态变为阻塞态现行状态由运行态变为阻塞态,并并将该进程插入到相并并将该进程插入到相应事件的阻塞队列中应事件的阻塞队列中。最后最后,转进程调度程序重新调度转进程调度程序重新调度,将处理机分配给一个就绪进程将处理机分配给一个就绪进程,

38、按新进程按新进程 PCB 中的处中的处理机状态设置理机状态设置CPU环境环境,使它投入运行。使它投入运行。2.进程的唤醒进程的唤醒 当被阻塞进程期待的事件到来时当被阻塞进程期待的事件到来时,由中断处理进由中断处理进程或其它产生该事件的进程调用唤醒原语程或其它产生该事件的进程调用唤醒原语(wakeup),将期待该事件队列中的进程将期待该事件队列中的进程唤醒。唤醒。唤醒原语执行时唤醒原语执行时,将被阻塞进程从相应等队列中将被阻塞进程从相应等队列中移出移出,并将其并将其 PCB中的现行状态由阻塞改为就绪态中的现行状态由阻塞改为就绪态,然后将该进程插入然后将该进程插入就绪就绪队列中。队列中。若事件是等

39、待若事件是等待 I/O 完成完成,则由硬件提出中断请求则由硬件提出中断请求,CPU响应中断响应中断,暂停当前进程的执行暂停当前进程的执行,转去中断处理。转去中断处理。检查有无等待该检查有无等待该 I/O完成的进程。若有完成的进程。若有,则将它唤醒。则将它唤醒。然后结束中断处理。返回被中断进程或重新调度。然后结束中断处理。返回被中断进程或重新调度。若事件是等待某进程发一个信息若事件是等待某进程发一个信息,则由发送进程则由发送进程把该等待进程唤醒。把该等待进程唤醒。3.进程的挂起进程的挂起 当进程请求将自己挂起或父进程请求将子进程挂当进程请求将自己挂起或父进程请求将子进程挂起时起时,调用挂起原语调

40、用挂起原语(suspend),将指定进程挂起将指定进程挂起。执行过程执行过程:检查要挂起进程的状态检查要挂起进程的状态,若处于活动就若处于活动就绪态就将其改为静止就绪态绪态就将其改为静止就绪态,对于活动阻塞态的进程对于活动阻塞态的进程则将其改为静止阻塞态。如果被挂起的进程正在执行则将其改为静止阻塞态。如果被挂起的进程正在执行则还要转到调度程序重新调度。则还要转到调度程序重新调度。4.进程的激活进程的激活 要激活指定进程时要激活指定进程时,调用激活原语调用激活原语(active)将它激将它激活活 执行过程执行过程:将要激活的进程调入内存将要激活的进程调入内存,并检查它的并检查它的状态状态,若是静

41、止就绪态则将其改为活动就绪态若是静止就绪态则将其改为活动就绪态,若为静若为静止阻塞态就将其改为活动阻塞态。如果采用的是抢占止阻塞态就将其改为活动阻塞态。如果采用的是抢占调度策略调度策略,被激活的进程优先级高则引起重新调度。被激活的进程优先级高则引起重新调度。1.并发执行新特征:并发执行新特征:间断性、失去封闭性和可再现性、相互制约性间断性、失去封闭性和可再现性、相互制约性2.进程的基本特征进程的基本特征:动态性、并发性、独立性、异步性和结构性动态性、并发性、独立性、异步性和结构性3.进程定义:进程定义:进程是可以并发执行的程序在某个数据集合上的进程是可以并发执行的程序在某个数据集合上的运行过程

42、,是系统进行资源分配和调度的独立单位。运行过程,是系统进行资源分配和调度的独立单位。4.进程控制块进程控制块PCB:系统为管理进程设置的专用数据结构系统为管理进程设置的专用数据结构,存放进程存放进程的特征和变化过程及控制进程所需的所有数据的特征和变化过程及控制进程所需的所有数据,是进是进程控制和调度的依据和操作对象。程控制和调度的依据和操作对象。PCB与进程生命期与进程生命期相同一一对应相同一一对应,是进程存在的是进程存在的唯一标志。唯一标志。5.PCB中的内容:中的内容:进程标识符、处理器状态进程标识符、处理器状态、调度信息、控制信息、调度信息、控制信息6.进程的三种基本状态:进程的三种基本

43、状态:运行态运行态、就绪态就绪态、阻塞态阻塞态7.进程的状态转换进程的状态转换:调度调度:就绪就绪 运行运行 超时超时:运行运行 就绪就绪I/O请求请求/等待事件等待事件:运行运行 阻塞阻塞I/O完成完成/等待事件发生等待事件发生:阻塞阻塞 就绪就绪 挂起原语挂起原语:活动活动 静止静止 激活原语激活原语:静止静止 活动活动【课后题】【课后题】P68 6P68 6、7 7、10101.1.有没有这样的状态转换,为什么?有没有这样的状态转换,为什么?等待等待运行;运行;就绪就绪等待等待2.2.一个状态转换的发生,是否一定导致另一个一个状态转换的发生,是否一定导致另一个转换发生,列出所有的可能转换发生,列出所有的可能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁