您好,欢迎访问三七文档
1第2章进程管理22.1进程的引入2.1.1程序的顺序执行仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。S1:a∶=x+y;S2:b∶=a-5;S3:c∶=b+1;3图2-1程序的顺序执行(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S34程序的顺序执行单道程序的运行顺序执行可以表示下图在单道程序的工作环境中,内存中只有一个作业的程序,用户程序是严格按顺序执行的。每个用户程序执行时都是先把程序和数据输入计算机,然后再由计算机进行计算处理,最后把计算的结果由输出设备输出。5顺序性:不同程序按序运行,程序内部也是按照预先编制好的次序运行。可再现性:过程可再现性、结果可再现性封闭性:程序执行过程中,系统的全部资源被其独占。程序的运行结果和它的执行速度无关。程序顺序执行的特征6程序的并发执行并发执行系统中的各个程序交错在CPU上运行,一个还没有运行完成,另一个就已经开始在CPU上运行了,而不是一个完全结束后,再运行另一个。7程序的并发执行的特征(1)间断性(2)失去封闭性(3)不可再现性8例如,有两个循环程序A和B,它们都要对一个变量N进行操作。程序A:N:=N+1;程序B:print(N);N:=0当程序A、B并发执行时,可能会出现几种情况?9程序并发执行的特征并发性:多道程序同时在系统中运行,这些程序的执行时间是重叠的,主存中同时存放着多个处于运行状态的程序。制约性:系统中多个程序共享系统的全部资源,它们之间又由于竞争同一资源而相互制约。不确定性:由于程序之间的相互制约,程序执行的过程变得不确定的。同一个程序在相同初始条件下,执行过程是不一样的,也是事先不能估计的。101.(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。2.1.3进程11进程的定义进程是一个具有独立功能的程序关于某个数据集合在处理器上的一次执行过程,它是系统分配资源的基本单位。12进程与程序的区别程序是静态的概念,而进程是动态的概念进程是一个能独立运行的单位,它与其他进程并发运行;而程序是不能作为一个独立单位并发运行的程序和进程无一一对应关系各个进程在并发执行过程中有相互制约的关系,造成各自前进速度的不可预知。而程序本身是静态的,不存在这种相互制约性。13进程的特征动态性:进程具有从动态地产生到动态地消亡的生命历程。“它由创建而产生,由调度而运行,由得不到资源而暂停执行,由系统撤销而消亡”。并发性:进程是可并发的运行单位。独立性:进程在系统中被作为一个独立的单位得到调度和获取系统资源。异步性:进程之间相互制约,使得进程执行时具有间断性,即进程以各自独立的、不可预知的速度向前推进。或者说,进程按异步方式运行。结构性:进程的实体是由程序段、数据集合及进程控制块三个部分组成的。14进程的状态操作系统中,进程有三种基本状态:运行态、就绪态、阻塞态(也称等待态)进程在生命消亡前处于且仅处于三种基本状态之一不同系统设置的进程状态数目不同15进程基本状态运行态(Running)是指当前的进程已经获得了包括CPU在内的全部所需资源,此时它的程序正在CPU上执行所处的状态。就绪态(Ready)是指进程获取了除CPU以外的全部所需资源,正在等待CPU调度所处的状态。阻塞态(Blocked)/等待态(Waited)指的是进程因等待某种事件的发生,而暂时不能运行所处的状态。16思考假设系统中有N个进程,处于运行态的进程最多几个,最少几个;处于就绪态的进程最多几个最少几个;阻塞态的进程呢?17进程的基本状态转换18进程的五状态转换模型19进程的七状态转换模型20进程的组成程序段:描述进程所要完成的功能数据集合:程序段执行时需要的数据和工作区,进程控制块(PCB):是系统用于描述和控制进程的数据结构,包含了进程的有关描述信息、控制信息以及资源信息。程序和数据是进程完成其功能的物质基础,在大多数操作系统中被放在外存中,直到该进程执行时才调入内存。PCB在内存以顺序表的方式进行管理。21进程的结构:由程序段、数据段和PCB组成。PCB程序段数据段数据段1PCB程序段PCB1PCB2数据段2程序段1PCB数据段PCB1PCB2程序段2数据段PCB程序段PCB图2-3进程的结构表征22进程控制块PCBPCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的。进程(PCB)公民(户口本)。23PCB的内容描述信息进程名或进程标识号、用户名或用户标识号、家族关系控制信息进程当前状态、进程优先级、程序开始地址、各种计时信息、通信信息资源管理信息CPU现场保护结构你的户口本都记录了什么内容?241)进程标识符:进程标识符用于惟一地标识一个进程。2)①通用寄存器,②指令计数器,③程序状态字PSW,④用户栈指针。3)①进程状态,②进程优先级,③进程调度所需的其它信息(它们与所采用的进程调度算法有关)④事件,即阻塞原因。4)①程序和数据的地址,②进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等;③资源清单,④链接指针,PCB的内容25PCB队列系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表相同状态的进程PCB组成一个队列,PCB都处理各自的PCB队列中,每个PCB队列对应相应的进程状态。•就绪队列、阻塞队列、运行队列•操作系统中队列常采用的存储方式是链表263.进程控制块的组织方式(1)线性表方式27PCB组织方式――链接方式283.进程控制块的组织方式(2)链接表方式图2-7PCB的链接组织方式PCB14PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB93087901执行指针就绪队列指针阻塞队列指针空闲队列指针…29(3)索引表方式执行指针就绪索引表PCB1PCB2PCB3PCB4PCB5PCB6PCB7阻塞索引表就绪表指针阻塞表指针图2-8PCB的链接组织方式302.3进程控制进程控制的职责是对系统中的全部进程实施有效的管理。其功能包括进程的创建、进程的撤消、进程的阻塞与唤醒等。原语是由若干条机器指令构成的,用于完成某一特定功能的一段程序。原语在执行期间不可分割,具有原子性。进程控制原语主要有:创建原语、撤销原语、阻塞原语、唤醒原语等31进程创建功能:为被创建进程建立一个PCB,并填入相应的初始值。操作过程:1.向系统申请一个空闲PCB结构2.父进程所提供的参数将子进程的PCB初始化,并将此PCB插入就绪队列3.返回一个进程的标识号。32进程撤销功能:收回被撤销进程占用的所有资源,并撤销它的PCB。操作过程:1.从PCB集合中找到被撤销进程的PCB2.若有子孙进程,则将该进程的子孙进程予以撤销3.对于被撤销进程所占有的资源,还给父进程或系统4.最后撤销该进程PCB33进程阻塞与唤醒阻塞原语的功能是将进程由运行态转为阻塞态唤醒原语的功能是将进程由阻塞态变为就绪态注意:•一个进程由运行态转变为阻塞态,是这个进程自己调用阻塞原语去完成的,即是主动行为•一个进程由阻塞态转变为就绪态,是另一个发现者进程调用唤醒原语实现的,是被动行为342.2.1原语进程控制一般是由OS的内核来实现的。内核是OS中最常用最核心的部分,它是由具有各种功能的程序模块组成的,是对整个OS起指挥和控制作用的,是对裸机的首次扩充。内核中所包含的原语主要有进程控制原语、进程通信原语、资源管理原语以及其他方面的原语。原语:是指由若干条机器指令构成的并用以完成特定功能的一段程序,这段程序在执行期间是不可分割的。352.2.2进程的创建与撤销1.创建进程原语在多道程序环境中,只有(作为)进程(时)才能在系统中运行。因此,为使程序能运行就必须为它创建进程。导致一个进程去创建另一进程的典型事件,可有以下四类:用户登录作业调度提供服务应用请求(由应用进程自己创建一个新进程)由系统内核创建36进程创建原语流程图372.撤消进程原语以下几种情况导致进程被撤消:该进程已完成所要求的功能而正常终止。由于某种错误导致非正常终止。祖先进程要求撤消某个子进程。无论哪一种情况导致进程被撤消,进程都必须释放它所占用的各种资源和PCB结构本身,以利于资源的有效利用。另外,当一个祖先进程撤消某个子进程时,还需审查该子进程是否还有自己的子孙进程,若有的话,还需撤消其子孙进程的PCB结构和释放它们所占有的资源。382.2.3进程的阻塞与唤醒1.阻塞进程原语阻塞原语在一个进程期待某一事件发生,但发生条件尚不具备时,被该进程自己调用来阻塞自己。阻塞原语在阻塞一个进程时,由于该进程正处于执行状态,故应先中断处理机和保存该进程的CPU现场。然后将被阻塞进程置“阻塞”状态后插入等待队列中,再转进程调度程序选择新的就绪进程投入运行。这里,转进程调度程序是很重要的,否则,处理机将会出现空转而浪费资源。39图2-10阻塞原语图402.唤醒进程原语当等待队列中的进程所等待的事件发生时,等待该事件的所有进程都将被唤醒。唤醒一个进程有两种方法:一种是由系统进程唤醒。另一种是由事件发生进程唤醒。当由系统进程唤醒等待进程时,系统进程统一控制事件的发生并将“事件发生”这一消息通知等待进程。从而使得该进程因等待事件已发生而进入就绪队列。由事件发生进程唤醒时,事件发生进程和被唤醒进程之间是合作关系。41图2-11唤醒原语422.2.4进程的挂起和激活当出现了引起进程挂起的事件时,系统将利用挂起原语将处于阻塞状态的进程挂起。引起挂起状态的原因:终端用户的请求。父进程的请求。负荷调节的需要。OS的需要。1、挂起进程原语43首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状态的进程,则将之改为静止阻塞。若被挂起的进程正在执行,便将其改为静止就绪,然后转向调度程序重新调度。挂起原语的执行过程是:44当发生激活进程的事件时,若进程驻留在外存而内存已有足够的空间,则可将在外存上处于静止就绪状态的进程换入内存。这时,系统将利用激活原语将指定进程激活。激活原语先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪便将其改为活动就绪,若为静止阻塞便将其改为活动阻塞。可见,为了使系统内部进程正常运行,进程的阻塞和唤醒、挂起和激活要成对出现。2.激活进程原语45
本文标题:5第2章进程管理
链接地址:https://www.777doc.com/doc-3789749 .html