进程管理课件

上传人:aa****6 文档编号:55110328 上传时间:2018-09-24 格式:PPT 页数:241 大小:2.23MB
返回 下载 相关 举报
进程管理课件_第1页
第1页 / 共241页
进程管理课件_第2页
第2页 / 共241页
进程管理课件_第3页
第3页 / 共241页
进程管理课件_第4页
第4页 / 共241页
进程管理课件_第5页
第5页 / 共241页
点击查看更多>>
资源描述

《进程管理课件》由会员分享,可在线阅读,更多相关《进程管理课件(241页珍藏版)》请在金锄头文库上搜索。

1、2018/9/24,第二章 进程管理,1,第二章 进程管理,2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信 2.7 线程,2018/9/24,第二章 进程管理,2,2.1 进程的基本概念,2.1.1 前趋图2.1.2 程序的顺序执行及其特征2.1.3 程序的并发执行及其特征 2.1.4 进程的特征与状态2.1.5 进程控制块,2018/9/24,第二章 进程管理,3,前驱图 (Precedence Graph),前驱图是一个有向无循环图,图中的每个结点可用于表示一条语句,一个程序段或进程;结点间的有向边则表示在两结点之

2、间存在的偏序或前驱关系。,结点、有向边、直接前驱、直接后继、初始结点、终止结点 无循环关系,可实现顺序执行,2018/9/24,第二章 进程管理,4,程序的顺序执行,程序是一个静态的概念,是严格按次序执行的计算机操作序列的集合,体现了编程人员要求计算机完成相应功能时所应采取的顺序步骤。 一个较大的程序通常都是由若干个程序段组成。在程序执行时,必须按照某种先后次序逐个执行,仅当前一操作执行完后,才能执行后继操作。 例如:在进行计算时,总是先输入用户的程序和数据,然后才能计算,计算完成后再将结果打印出来。,2018/9/24,第二章 进程管理,5,程序的顺序执行如图,在计算机系统中只有一个程序在运

3、行,这个程序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。,程序的顺序执行,2018/9/24,第二章 进程管理,6,程序的顺序执行,一个程序的多条语句的顺序执行:,S1: a:=x+y S2: b:=a-5 S3: c:=b+1,2018/9/24,第二章 进程管理,7,程序顺序执行的特点,顺序性:一个程序开始执行必须要等到前一个程序已执行完成。 封闭性:程序一旦开始执行,其计算结果不受外界因素影响。 可再现性:程序的结果与它的执行速度无关(即与时间无关),只要给定相同的输入,一定会得到相同的结果。,2018/9/24,第二章 进程管理,8,多道程序系统中程序执行环

4、境的变化,计算机能够同时处理多个具有独立功能的程序(批处理系统,分时系统、实时系统、网络与分布式系统)。这样的执行环境具有三个特点:独立性:每道程序都是逻辑上独立的,之间不存在制约关系。 随机性:程序和数据的输入与开始执行时间都是随机的。这种随机性形成了操作系统必须同时处理多道程序的客观要求。资源共享硬件资源:CPU、输入输出设备,存储器软件资源:各种例行程序、各种共享的数据多道程序环境下执行程序的道数 计算机系统中CPU的个数单CPU中,则有N1道程序处在等待CPU的状态输入输出设备有限将导致这些设备被共享、内存有限将导致内存被共享,2018/9/24,第二章 进程管理,9,程序的并发执行,

5、所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。,2018/9/24,第二章 进程管理,10,程序的并发执行,一个程序的多条语句的并发执行:,S1: a:=x+2 S2: b:=y+5 S3: c:=a+b S4: d:=c+6,2018/9/24,第二章 进程管理,11,程序并发执行的特点,间断性“走走停停”,一个程序可能走到中途停下来,失去原有的时序关系失去程序的封闭性多个程序共享系统中的资源,这些资源的状态将由多个程序来改变。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。不可再

6、现性失去封闭性失去可再现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。,2018/9/24,第二章 进程管理,12,例:设有堆栈S,栈指针top,栈中存放内存中相应数据块地址,设有两个程序段getaddr(top)和reladdr(blk),其中getaddr(top)从给定的top所指栈中取出相应的内存数据块地址,而reladdr(blk)则将内存数据块地址blk放入堆栈S中。,Getaddr接着执行,Reladdr先执行,2018/9/24,第二章 进程管理,13,程序并发执行的特点,例:程序A、B,共享变量N,程序A,只有一个语句N:=N+1;程序B由两个语句Print

7、(N),N=0组成。两个程序以不同速度运行,可能出现三种情况: N:=N+1在Print(N)和N=0之前,此时N值分为N+1,N+1, 0 N:=N+1在Print(N)和N=0之后,此时N值分为N, 0, 1 N:=N+1在Print(N)和N=0之间,此时N值分为N, N+1, 0问题:并发与并行的区别是什么?,2018/9/24,第二章 进程管理,14,并行与并发的概念差别,并行(Parallel) 同一时刻,两个事物均处于活动状态 并发(Concurrency) 宏观上存在并行特征,微观上存在顺序性 同一时刻,只有一个事物处于活动状态,2018/9/24,第二章 进程管理,15,并发

8、所带来的效率提升,2018/9/24,第二章 进程管理,16,并发所带来的效率提升,顺序执行模式下的系统工作效率 系统总运行时间:80 CPU使用效率:CPU占用时间 / 总时间 40/80 = 50% DEV1使用效率:15 / 80 18.75% DEV2使用效率:25 / 80 = 31.25% 并发执行模式下的系统工作效率 系统总运行时间:45 CPU使用效率:40 / 45 = 89% DEV1使用效率:15 / 45 = 33% DEV2使用效率:25 / 45 55.6%,2018/9/24,第二章 进程管理,17,进程的引入,并发执行的各程序段由于同时存在于主存中,共享软硬件资

9、源,造成其执行结果受执行速度影响的局面。在多道程序系统所带来的复杂环境中,程序段具有了并发、制约、动态的特性,原来的程序概念,难以刻画系统中的情况。 程序本身完全是静态的概念 程序概念也反映不了系统中的并发特性为了控制和协调各程序段执行过程中的软硬件资源共享和竞争,必须有一个描述各程序执行过程和共享资源的基本单位。(这个单位被称为进程,或任务task),2018/9/24,第二章 进程管理,18,进程的定义,进程是可并发执行的程序在一个数据集合上的运行过程。或是指进程实体的运行过程。,2018/9/24,第二章 进程管理,19,阅读菜谱,准备原料,烹制菜肴,饭菜,阅读洗衣机手册,准备衣服、洗衣

10、粉,设定参数,洗衣服,干净衣服,程序,输入,运行,输出,程序,输入,运行,输出,分时切换,洗衣进程,做饭进程,进程同程序的比较,2018/9/24,第二章 进程管理,20,进程同程序的比较,程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念; 程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的;,2018/9/24,第二章 进程管理,21,进程同程序的比较,进程更能真实地描述并发,而程序不能; 进程是由程序和数据、进程控制块三部分组成的; 进程具有创建其他进程的功能,而程序没有 同一程序同

11、时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程,2018/9/24,第二章 进程管理,22,进程的特征,结构特征:由程序段、数据段、进程控制块三部分组成; 动态性:进程是程序的执行; 并发性:多个进程可同存于内存中,能在一段时间内同时运行;,2018/9/24,第二章 进程管理,23,进程的特征,独立性:独立运行的基本单位,独立获得资源和调度的基本单位; 异步性:各进程按各自独立的不可预知的速度向前推进。,2018/9/24,第二章 进程管理,24,进程的状态及其转换,不同系统设置的进程状态数目不同进程有三种基本状态:进程在生命期内,至少具有三种基本状态:

12、执行状态、等待状态和就绪状态。,2018/9/24,第二章 进程管理,25,进程的三种基本状态,就绪状态(Ready):已经得到除CPU之外的其他资源的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行。这些进程所处的状态为就绪状态。 就绪队列:常按照进程优先权的大小排列,把优先权高的进程的PCB排在队列前面。,2018/9/24,第二章 进程管理,26,进程的三种基本状态,运行状态(Running):正在运行的进程所处的状态为运行状态。 单处理机系统,任一时刻只有一个进程处于运行状态 多处理机系统有多个进程处于运行状态 只有处于就绪状态的进程经调度选中之后才可进入执行状态,2018/

13、9/24,第二章 进程管理,27,进程的三种基本状态,等待状态(Wait / Blocked):若一进程正在等待某一事件发生(如等待输入输出工作完成),这时,即使给它CPU,它也无法运行,称该进程处于等待状态、阻塞、 睡眠、封锁状态。 阻塞队列根据阻塞原因可以设置多个队列。,2018/9/24,第二章 进程管理,28,进程的状态变迁图,2018/9/24,第二章 进程管理,29,进程的状态转换,就绪执行:调度执行等待:等待某个事件发生而睡眠等待就绪:因等待的事件发生而唤醒执行就绪:时间片用完 问题1:为什么不能从等待态变为运行态呢? 问题2:为什么不能从就绪态变为等待态呢? 答案: 阻塞进程即

14、使被给予CPU,也无法运行。理论上这种状态转换是可行的,只是没有实际价值而被操作系统禁止 对于就绪状态的进程,因没有执行,自然无法进入到阻塞状态。这种状态转换理论上不可行,2018/9/24,第二章 进程管理,30,五状态进程模型,增加了“创建”、“终止”两种状态创建状态(New):创建一个进程要通过两个步骤:首先,为一个新进程创建PCB,并填写必要的管理信息;其次,把该进程转入就绪状态并插入就绪队列中。当一个新进程被创建时,系统已为其分配了PCB,填写了进程标识等信息,但由于该进程所必需的资源或其他信息没有获得,进程自身还未进入主存,即创建工作尚未完成,进程还不能被调度运行。引入创建状态,是

15、为了保证进程的调度必须在创建工作完成后进行,以确保对PCB操作的完整性。同时,也增加了管理的灵活性,操作系统可以根据系统性能或主存容量的限制,推迟创建状态进程的提交。对于处于创建状态的进程,获得了其所必需的资源,以及对其PCB初始化工作完成后,进程状态便可由创建状态转入就绪状态了。,2018/9/24,第二章 进程管理,31,结束状态(Exit):进程的结束也要通过两个步骤:首先等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统。当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入结束状态。进入结束状态的进程以后

16、不能再执行,但在操作系统中依然保留一个纪录,其中保存状态码和一些计时统计数据,供其他进程收集。一旦其他进程完成了对结束状态进程的信息提取之后,操作系统将删除该进程。对于一个进程来说“创建状态”和“结束状态”只有一次。,五状态进程模型,2018/9/24,第二章 进程管理,32,五状态进程模型,2018/9/24,第二章 进程管理,33,五状态进程模型,创建新进程:创建一个新进程,以运行一个程序。可能的原因为:用户登录、OS创建以提供某项服务、批处理作业。 收容(Admit, 也称为提交):收容一个新进程,进入就绪状态。由于性能、内存、进程总数等原因,系统会限制并发进程总数。 释放(Release):由于进程完成或失败而终止进程运行,进入结束状态; 运行到结束:分为正常退出Exit 和异常退出abort(执行超时或内存不够,非法指令或地址,I/O失败,被其他进程所终止),2018/9/24,第二章 进程管理,34,五状态进程模型,注:对于五状态进程模型,一个重要的问题是当一个事件出现时如何检查阻塞进程表中的进程状态。当进程多时,对系统性能影响很大。一种可能的作法是按等待事件类型,排成多个队列。,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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