操作系统第2章进程管理.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统第2章进程管理.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 进程 管理
- 资源描述:
-
1、操作系统第2章进程管理2.1 进程的基本概念进程的基本概念 2.1.1 程序的顺序执行及其特征程序的顺序执行及其特征 1.程序的顺序执行程序的顺序执行 仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S32022-10-32022-10-3计计算算机机科科学学系系图 2-1 程序的顺序执行(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S3 S1:a=x+y;S2:b=a-5;S3:c=b+1;2022-1
2、0-32022-10-3计计算算机机科科学学系系2.程序顺序执行时的特征程序顺序执行时的特征(1)顺序性:(2)(2)封闭性:(3)(3)可再现性:2022-10-32022-10-3计计算算机机科科学学系系2.1.2 前趋图前趋图 前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(Partial Order)或前趋关系(Precedence Relation)“”。=(Pi,Pj)|Pi
3、 must complete before Pj may start,如果(Pi,Pj),可写成PiPj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。2022-10-32022-10-3计计算算机机科科学学系系 每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。图 2-2 前趋图 P1P3P8P9P4P2P5P6P7S1S2S3(a)具有九个结点的前趋图(b)具有循环的前趋图2022-10-32022-10-3计计算算机机科科学学
4、系系对于图 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 2022-10-32022-10-3计计算算机机科科学学系系2.1.3 程序的并发执行及其特征程序
5、的并发执行及其特征 1.程序的并发执行程序的并发执行 图 2-3 并发执行时的前趋图 2022-10-32022-10-3计计算算机机科科学学系系在该例中存在下述前趋关系:IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。2022-10-32022-10-3计计算算机机科科学学系系图 2-4 四条语句的前趋关系S1S2S3S4对于具有下述四条语句的程序段:S1:a=x+2 S2:b=y+4 S3:c=a+b S4:d=c+b 2022-10-32022-10-3计计算算机机科科学学系系2.程序并发
6、执行时的特征程序并发执行时的特征 1)间断性2)2)失去封闭性 3)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。2022-10-32022-10-3计计算算机机科科学学系系2.1.4 进
7、程的特征与状态进程的特征与状态 1.进程的特征和定义进程的特征和定义结构特征结构特征(程序段、数据段和进程控制块PCB)动态性动态性(最基本的特征,与程序的区别)并发性并发性(重要特征)独立性独立性(运行,分配资源,调度)异步性异步性2022-10-32022-10-3计计算算机机科科学学系系 较典型的进程定义有:(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。在引入了进程实体的概念后,本书把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度
8、的一个独立单位”。2022-10-32022-10-3计计算算机机科科学学系系进程与程序的区别:(1)程序是指令的有序集合,其本身没有任何运行的含义,程序是指令的有序集合,其本身没有任何运行的含义,是一个是一个静态静态的概念。而进程是程序在处理机上的一次执行的概念。而进程是程序在处理机上的一次执行过程,它是一个过程,它是一个动态动态的概念。的概念。(2)程序可以作为一种软件资料长期存在,而进程是有一程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是定生命期的。程序是永久永久的,进程是的,进程是暂时暂时的。的。(3)进程更能真实地描述并发,而程序不能进程更能真实地描述并发,而程序不
9、能(4)程序是进程的组成部分程序是进程的组成部分(5)进程具有创建其他进程的功能,而程序没有进程具有创建其他进程的功能,而程序没有(6)同一程序同时运行于若干个数据集合上,它将属于若同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说干个不同的进程。也就是说同一程序可以对应多个进程同一程序可以对应多个进程 2022-10-32022-10-3计计算算机机科科学学系系思考?思考?为什么引入进程?为什么引入进程?2022-10-32022-10-3计计算算机机科科学学系系2.进程的三种基本状态进程的三种基本状态(1)就绪(Ready)状态(2)执行状态 (3)阻塞状态 2022-
10、10-32022-10-3计计算算机机科科学学系系图 2-5 进程的三种基本状态及其转换 2022-10-32022-10-3计计算算机机科科学学系系3.挂起状态挂起状态 1)引入挂起状态的原因:引入挂起状态的原因:(1)终端用户的请求;(2)父进程请求;(3)负荷调节的需要;(4)操作系统的需要;(5)对换需要。(6)挂起状态实际是暂时从内存中被淘汰出去的进程。2022-10-32022-10-3计计算算机机科科学学系系2)进程状态的转换(1)活动就绪静止就绪。(2)(2)活动阻塞静止阻塞。(3)(3)静止就绪活动就绪。(4)(4)静止阻塞活动阻塞。2022-10-32022-10-3计计算
11、算机机科科学学系系具有挂起状态的进程状态图 活动就绪静止就绪执行挂起激活释放挂起活动阻塞静止阻塞挂起激活释放请求I/O调度2022-10-32022-10-3计计算算机机科科学学系系2 2五状态进程模型五状态进程模型 引入创建状态和终止状态 (1)创建状态作用 (2)终止状态作用等待条件满足2022-10-32022-10-3计计算算机机科科学学系系3 3挂起状态进程模型(挂起状态进程模型()单挂起状态进程模型单挂起状态进程模型2022-10-32022-10-3计计算算机机科科学学系系3 3挂起状态进程模型(挂起状态进程模型()双挂起状态进程模型双挂起状态进程模型2022-10-32022-
12、10-3计计算算机机科科学学系系思考?思考?1如果系统中有如果系统中有N个进程,运行的进程最多几个,最个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?最多几个,最少几个?2.有没有这样的状态转换,为什么?有没有这样的状态转换,为什么?等待等待运行;运行;就绪就绪等待等待2022-10-32022-10-3计计算算机机科科学学系系课堂练习课堂练习l当某个作业被作业调度程序选中,进入内存开始运行时,作业的状态为:.提交状态 .完成状态.执行状态 .就绪状态l进程在发出I/O请求后,可能导致下列哪种进程状态演变?A
13、.就绪 执行 B.执行 就绪C.阻塞 执行 D.执行 阻塞l单处理机系统中,可并行的是 I 进程与进程 II 处理机与设备 III 处理机与通道 IV 设备与设备 AI、II和III B.I、II和IV C.I、III和IV D.II、III和IV 2022-10-32022-10-3计计算算机机科科学学系系2.1.5 进程控制块进程控制块 1.进程控制块的作用进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。为了描述一个进程和
14、其它进程以及系统资源的关系,为了刻画一个进程在各个不同时期所处的状态,人们采用了一个与进程相联系的数据块,称为进程控制块(进程控制块(PCB)。)。系统利用PCB来控制和管理控制和管理进程,所以PCB是系统感知进感知进程存在的唯一标志。程存在的唯一标志。进程与进程与PCB是一一对应的。是一一对应的。2022-10-32022-10-3计计算算机机科科学学系系 2.进程控制块中的信息进程控制块中的信息 1)进程标识符进程标识符 进程标识符进程标识符用于惟一地标识惟一地标识一个进程。一个进程通常有两种标识符:(1)内部标识符。在所有的操作系统中,都为每一个进 程赋予一个惟一的数字标识符,它通常是一
15、个进程的序号。设置内部标识符主要是为了方便系统使用。(2)外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。2022-10-32022-10-3计计算算机机科科学学系系2)处理机状态处理机状态 处理机状态信息主要是由处理机的各种寄存器中的内容组成的。通用寄存器通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有 832 个通用寄存器,在RISC结构的计算机中可超过 100 个;指令计数器指令计数器,其中存放了
16、要访问的下一条指令的地址;程序状态字程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;用户栈指针用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。2022-10-32022-10-3计计算算机机科科学学系系3)进程调度信息进程调度信息 在PCB中还存放一些与进程调度和进程对换有关的信息,包括:进程状态进程状态,指明进程的当前状态,作为进程调度和对换时的依据;进程优先级进程优先级,用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;进程调度所需的其它信息进程调度所需的其它信息,它们
17、与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;事件事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。2022-10-32022-10-3计计算算机机科科学学系系4)进程控制信息进程控制信息 进程控制信息包括:程序和数据的地址程序和数据的地址,是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;进程进程同步和通信机制同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;资源清单资源清单,是一张列出了除CPU以外的、进程所需的全部
18、资源及已经分配到该进程的资源的清单;链接指针链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。2022-10-32022-10-3计计算算机机科科学学系系3.进程控制块的组织方式进程控制块的组织方式 1)链接方式 PCB链接队列示意图 PCB14PCB2PCB3PCB4PCB5PCB6PCB7PCB8PCB93087901执行指针就绪队列指针阻塞队列指针空闲队列指针2022-10-32022-10-3计计算算机机科科学学系系2)索引方式 按索引方式组织PCB 2022-10-32022-10-3计计算算机机科科学学系系2.2 进进 程程 控控 制制 进程控制是进程管理中
19、最基本的功能。它用于创建一个新进程,终止一个已完成的进程,或终止一个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换。进程控制就是对系统中的所有进程实施管理,进程控制一般有原语来实现。所谓原语所谓原语是一种特殊的系统功能调用,它可以完成一个特定的功能,其特点其特点是原语执行是原语执行时不可被中断,时不可被中断,其作用是为了实现进程的其作用是为了实现进程的通信和控制。通信和控制。常用原语:常用原语:创建原语创建原语终止原语终止原语阻塞原语、唤醒原语阻塞原语、唤醒原语2022-10-32022-10-3计计算算机机科科学学系系2.2 进进 程程 控控 制制 2.2.1 进程的创建
20、进程的创建 1.进程图(Process Graph)进程树 DEFGHBCIJKLMA2022-10-32022-10-3计计算算机机科科学学系系2.引起创建进程的事件引起创建进程的事件(1)用户登录。(2)(2)作业调度。(3)(3)提供服务。(文件打印)(4)(4)应用请求。(输入,处理,打印)系统内核用户自己2022-10-32022-10-3计计算算机机科科学学系系3.进程的创建进程的创建(Creation of Progress)(1)申请空白PCB。(2)为新进程分配资源。(3)初始化进程控制块。(4)将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。2
21、022-10-32022-10-3计计算算机机科科学学系系2.2.2 进程的终止进程的终止 1.引起进程终止引起进程终止(Termination of Process)的事件的事件 1)正常结束 在任何计算机系统中,都应有一个用于表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条Halt指令或终止的系统调用。当程序运行到Halt指令时,将产生一个中断,去通知OS本进程已经完成。2022-10-32022-10-3计计算算机机科科学学系系 2)异常结束 在进程运行期间,由于出现某些错误和故障而迫使进程终止。这类异常事件很多,常见的有:l越界错误l保护错l非法指令l特权指令
22、错l运行超时l等待超时l算术运算错lI/O故障2022-10-32022-10-3计计算算机机科科学学系系 3)外界干预 外界干预并非指在本进程运行中出现了异常事件,而是指进程应外界的请求而终止运行。这些干预有:l 操作员或操作系统干预l 父进程请求l父进程终止 2022-10-32022-10-3计计算算机机科科学学系系 2.进程的终止过程进程的终止过程 (1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。(3)若该进程还有子孙进程,还应将其所
23、有子孙进程予以终止,以防他们成为不可控的进程。(4)将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。(5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息。2022-10-32022-10-3计计算算机机科科学学系系2.2.3 进程的阻塞与唤醒进程的阻塞与唤醒1.引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件 1)请求系统服务2)启动某种操作3)新数据尚未到达4)无新工作可做 2022-10-32022-10-3计计算算机机科科学学系系 2.进程阻塞过程进程阻塞过程 正在执行的进程,当发现上述某事件时,由于无法继续执行,于是进程便通过调用阻塞原语
24、block把自己阻塞。可见,进程的阻塞是进程自身的一种主动行为。进入block过程后,由于此时该进程还处于执行状态,所以应先立即停止执行,把进程控制块中的现行状态由“执行”改为阻塞,并将PCB插入阻塞队列。如果系统中设置了因不同事件而阻塞的多个阻塞队列,则应将本进程插入到具有相同事件的阻塞(等待)队列。最后,转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,亦即,保留被阻塞进程的处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU的环境。2022-10-32022-10-3计计算算机机科科学学系系 3.进程唤醒过程进程唤醒过程 当被阻塞进程所期待的事件出现时,如I
25、/O完成或其所期待的数据已经到达,则由有关进程(比如,用完并释放了该I/O设备的进程)调用唤醒原语wakeup(),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该PCB插入到就绪队列中。2022-10-32022-10-3计计算算机机科科学学系系2.2.4 进程的挂起与激活进程的挂起与激活 1.进程的挂起进程的挂起 当出现了引起进程挂起的事件时,比如,用户进程请求将自己挂起,或父进程请求将自己的某个子进程挂起,系统将利用挂起原语suspend()将指定进程或处于阻塞状态的进程挂起。挂起原语的执行过程
展开阅读全文