8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理

上传人:E**** 文档编号:89382621 上传时间:2019-05-24 格式:PPT 页数:91 大小:2.66MB
返回 下载 相关 举报
8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理_第1页
第1页 / 共91页
8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理_第2页
第2页 / 共91页
8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理_第3页
第3页 / 共91页
8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理_第4页
第4页 / 共91页
8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理》由会员分享,可在线阅读,更多相关《8113-沈祥玖-操作系统原理及应用(Windows Server 2008)-电子教案 第3章 进程管理(91页珍藏版)》请在金锄头文库上搜索。

1、第3章 进程管理,山东交通学院 沈祥玖 中国水利水电出版社,第3章 进程管理(1),3.1 进程的概念和PCB 3.3 进程控制 3.3 线 程,第二章 进程管理 3.1 进程的基本概念,3.1.1程序的顺序执行及特征,1. 基本概念 程序:一个在时间上按严格次序、顺序执行的操作序列。 程序的顺序执行:一个具有独立功能的程序独占处理机,直至得到最终结果的过程 。 操作:数据处理的一种规则,一经启动就需要在有限时间内完成 。 计算:若干操作严格顺序执行的集合 。,3.程序的顺序执行,在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。通常一个程序可分成若干个程序段,

2、它们必须按照某种先后次序执行,仅当前一操作执行后,才能执行后继操作。 例如:进行计算。I:输入操作 C:计算操作 P:打印操作。在进行计算时,总是先输入用户的程序和数据,然后进行计算,最后将结果打印出来。,3.语句的顺序执行,S1:a:=x+y S3:b:=a-5 S3:c:=b+1 如下图,语句S3必须在a被赋值后才能执行;S3也只能在b被赋值后才能执行。,4.程序的顺序执行的特征,顺序性:一个程序的各个部分的执行,严格地按照某种先后次序执行; 封闭性:程序在封闭的环境下运行,即程序运行时独占全部系统资源; 可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停

3、顿地执行,还是“停停走走”地执行,都将获得相同的结果。 程序顺序执行的特性,为程序员检测和校正程序的错误带来很大方便。,3.1.3.前趋图,为了描述一个程序的各部分(程序段或语句)间的依赖关系,或者是一个大的计算的各个子任务间的因果关系,我们常常采用前趋图方式。,图3-1 九个结点的前趋图,前趋图(续),P1为初始结点,P9为终止结点每个结点还具有一个重量。 该前趋图,存在下面的前趋关系: P1P2,P1P3,P1P4,P3P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P9;或表示为: =P1,P2,P3,P4,P5,P6,P7,P8,P9 =(P1,P2),(P1,P

4、3),(P1,P4), (P2,P5),(P3,P5),(P4,P6), (P4,P7),(P5,P8),(P6,P8), (P7,P9),(P8,P9),前趋图(续),前趋图中的每个结点可以表示一条语句、一个程序段或进程,结点间的有向边表示两个结点之间存在的偏序(Partial_Order)或前趋关系(Precedence_Relation)“”(Pi,Pj)|在Pj开始前Pi必须完成如果(Pi,Pj),可写成PiPj,Pi是Pj的直接前趋,Pj是Pi的直接后继。前趋图中必须不存在循环,如下图不是前趋图。,3.1.3 程序并发执行及特征,1.并发环境: 在一定时间内物理机器上有两个或两个以上

5、的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的,3. 程序的并发执行,在对一批程序进行处理时,可以并发执行。 例如,输入、计算、打印三个程序对一批作业进行处理时,存在以下的前趋关系: IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1,图 3-3 并发执行时的前趋图,在上例中存在下述前趋关系: IiCi,IiIi+1, CiPi, CiCi+1,PiPi+1 在Pi-1和Ci以及Ii+1之间,可以并发执行。 对于具有下述四条语句的程序段: S1: a=x+3 S3: b=y+4 S3: c=a+b S4: d=c+b,图 3-3 四条语句的前趋关系,3.程序的并发执行的

6、特征,不可再现性:由于程序的并发执行,打破了由另一程序独占系统资源的封闭性,因而破坏了可再现性。 间断性:程序并发执行时,由于它们共享资源或程序之间相互合作完成一项共同任务,因而使程序之间相互制约。 通信性:对于相互合作的程序,为了更有效地协调运行,相互之间进行通信。 独立性:并发程序在运行过程中,既然是作为一个独立的运行实体,它也必然具有作为一个单位去获得资源的独立性。,4.多道程序设计,定义:Multiprogramming 多道程序设计是指允许多个程序同时进入内存并运行(引入目的是为了提高系统效率) 与并发不完全是一个概念,但效果相似 考虑因素: 在多道程序环境下如何向用户提供服务 在并

7、发程序之间如何正确传递消息(通讯) 如何对CPU进行调度,保证每个用户相对公平地得到CPU 如何管理其他资源 当各用户对资源使用上发生冲突时,如何处理竞争 对CPU只能通过调度来解决竞争问题,而对于其他资源通过申请分配使用回收的办法进行管理,当且仅当占有CPU的时候才可以申请,否则要排队等候,3.1.4 进程的特征与状态,1.进程的概念 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位 进程是可与其他程序并发执行的程序,在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位。,2. 进程的特征,动态性:进程的实质是程序的一次执行过程,

8、进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本状态之间转换 并发性:任何进程都可以同其他进程一起向前推进 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位; 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进 结构特征:为了控制和管理进程,系统为每个进程设立一个进程控制块 PCB。,3. 进程与程序的区别,程序是静态的,进程是动态的; 进程更能真实地描述并发,而程序不能; 一个程序可对应多个进程,反之亦然; 进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的; 程序可作为软件资源长期保存,进程只是一次执

9、行过程,是暂时的; 进程是系统分配调度的独立单位,能与其他进程并发执行; 进程是由程序和数据两部分组成的 进程具有创建其他进程的功能,而程序没有,4. 进程创建与中止,1)进程何时创建 提交一个批处理作业 用户登录 由OS创建,用以向一用户提供服务( 如:打印文件) 由已存在的一进程创建 一个用户程序可创建成多个进程 进程何时中止 批处理作业发出暂停(Halt)指令 用户退出登录 进程执行一中止服务请求 出错及失败因素,5. 进程中止的原因,正常结束 给定时限到 缺少内存 存储器出界 保护性出错:例子: 写只读文件 算术错 超出时间:进程等待超过对某事件的最大值 I/O 失败 无效指令:如试图

10、执行数据 特权指令 操作系统干预:如当死锁发生时 父进程请求中止某一子进程 父进程中止,所以子进程也中止,运行,就绪,等待,图34 进程的状态及其转换,进程状态(续),当进程已分配到除CPU以外的所有必要资源时,它便处于就绪状态,一旦获得CPU,便立即执行。 已获得CPU的进程进入执行状态。 正在执行的进程,由于发生某个事件而暂时无法执行时,便放弃处理机而进入阻塞状态。 由于执行的进程变为阻塞状态后,调度程序立即把处理机分配给另一个就绪进程;因此,阻塞进程的事件消失后,进程不会立即恢复到执行状态,而转变为就绪状态,重新等待处理机。,2)进程状态转换条件,在进程运行过程中,由于自身进展情况及外界

11、环境的变化,这三种基本状态可以依据一定的条件相互转换: 就绪 运行 调度程序选择一个新的进程运行 运行 就绪 运行进程用完了时间片 运行进程被中断,因为一高优先级进程处于就绪状态,进程状态转换条件(续),运行 等待 当一进程必须等待时 OS尚未完成服务 对一资源的访问尚不能进行 初始化I/O 且必须等待结果 等待某一进程提供输入 (IPC) 等待 就绪 当所等待的事件发生时,创建状态 终止状态 挂起状态 (调节负载,对换,父进程,操作系统,终端用户),3)其他状态,创建( 新new)状态,OS 已完成为创建一进程所必要的工作 已构造了进程标识符 已创建了管理进程所需的表格 但还没有允许执行该进

12、程 (尚未同意) 因为资源有限,终止(退出exit)状态,中止后进程移入该状态 它不再有执行资格 表格和其它信息暂时由辅助程序保留 例子: 为处理用户帐单而累计资源使用情况的财务程序 当数据不再需要后,进程(和它的表格)被删除,4)具有挂起操作的进程状态转换图,有的系统有时希望能人为地把进程挂起,使之处于静止状态,以便研究其执行情况或对它进行修改。下图示出了具有挂起状态的进程状态演变图。,图35 具有挂起状态的进程状态演变图,五状态进程模型,准备退出:父进程可中止子进程,七状态进程模型,7. 进程控制块(PCB),系统为了管理进程设置的一个专门的数据结构,存放了用于描述该进程情况和控制进程运行

13、所需的全部信息。 系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志 进程与PCB是一一对应的,1)进程控制块的内容,进程标识符:标识一个进程的编号,也称为进程的内部名; 现性状态:说明进程的当前状态; 现场保留区:保存进程由执行状态变为其它状态时的CPU现场信息; 程序与数据地址:该进程的程序和数据所在位置信息; 互斥与同步机构:实现进程间互斥与同步时所必须的机构;,进程控制块的内容(续),进程通信机制:用于实现进程间的通信所需的数据结构; 优先级:表示进程使用CPU时优先级别的一个整数; 资源清单:列出进程拥有的资源的记录; 连接字:给出本进程所在队列中的下一个进程的P

14、CB首址; 家族联系:用于说明本进程与其它家族成员间的关系。,3)进程映象 (进程要素),用户程序 用户数据 栈 用于过程调用和参数传递 进程控制块PCB (执行上下文) 控制进程所需的数据(进程属性),包括: 进程标识符信息 处理器状态信息 进程控制信息,3)进程控制块的组织方式,为了有效地对进程控制块进行管理,应该采用适当的方式把它们组织起来。 目前常用的组织方式有以下两种: 按链接方式组织PCB (队列) 不同状态进程分别组成队列 运行队列、就绪队列、等待队列 按索引方式组织PCB (表) 对具有相同状态的进程,分别设置各自的PCB索引表,表明PCB在PCB表中的地址 (其他方式:线性表

15、或链表),按索引方式组织PCB,按链接方式组织PCB,3.3 进程控制,1.进程控制的主要任务 进程控制是对系统中所有进程从产生、存在到消亡的全过程实行有效的管理和控制。进程控制一般是由操作系统的内核来实现,内核在执行操作时,往往是通过执行各种原语操作来实现的。,3.进程图,进程图是一棵有向树(如下图),结点代表进程。一棵树表示一个家族,根结点为该家族的祖先(Ancestor)。,3.进程图和前趋图之间的差异,前趋图描述的是任务(或进程)之间的前趋关系;只有在前趋进程完成后,其后继进程才能运行; 在进程图中,创建者和被创建者可以并发执行,也可以父进程等待其所有的子进程结束后再执行,这完全取决于

16、创建原语和创建者的需要。原语:是由若干条机器指令所构成,用以完成特定功能的一段程序,4.内核与原语,内核:加在硬件上的第一层软件,通过执行各种原语操作来实现各种控制和管理功能,具有创建、撤消、进程通信、资源管理的功能。 内核的基本功能 支撑功能:中断处理、时钟管理、原语操作 资源管理功能:进程管理、存贮管理、设备管理 原语:是由若干条机器指令所构成,用以完成特定功能的一段程序 。,5.进程控制,创建、撤消进程以及完成进程各状态之间的转换。由具有特定功能的原语完成。 进程创建原语 进程撤消原语 阻塞原语 唤醒原语 挂起原语 激活原语,1)创建原语,功能:创建一个具有指定标识符进程 入口信息:进程标识符、优先级、进程开始地址、初始CPU状态、资源清单等。,进程创建过程,创建一个PCB 赋予一个统一进程标识符 为进程映象分配空间 初始化进程控制块 许多默认值

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号