操作系统 第二版 教学课件 ppt 作者 宗大华 肖霞 宗涛 14681-第2章

上传人:E**** 文档编号:89357611 上传时间:2019-05-23 格式:PPT 页数:181 大小:1.11MB
返回 下载 相关 举报
操作系统 第二版  教学课件 ppt 作者  宗大华 肖霞 宗涛 14681-第2章_第1页
第1页 / 共181页
操作系统 第二版  教学课件 ppt 作者  宗大华 肖霞 宗涛 14681-第2章_第2页
第2页 / 共181页
操作系统 第二版  教学课件 ppt 作者  宗大华 肖霞 宗涛 14681-第2章_第3页
第3页 / 共181页
操作系统 第二版  教学课件 ppt 作者  宗大华 肖霞 宗涛 14681-第2章_第4页
第4页 / 共181页
操作系统 第二版  教学课件 ppt 作者  宗大华 肖霞 宗涛 14681-第2章_第5页
第5页 / 共181页
点击查看更多>>
资源描述

《操作系统 第二版 教学课件 ppt 作者 宗大华 肖霞 宗涛 14681-第2章》由会员分享,可在线阅读,更多相关《操作系统 第二版 教学课件 ppt 作者 宗大华 肖霞 宗涛 14681-第2章(181页珍藏版)》请在金锄头文库上搜索。

1、第2章 处理机管理,2.1 进程 2.2 进程控制块 2.3 进程的调度与管理 2.4 作业调度,本章着重讲述四个方面的内容: (1)进程概念的引入。 (2)进程的组成与管理。 (3)处理机的调度算法。 (4)处理机的二级调度与作业管理。,2.1 进 程,2.1.1 多道程序设计 所谓“程序”,是一个在时间上严格有序的指令集合。程序规定了完成某一任务时,计算机所需做的各种操作,以及这些操作的执行顺序。,在单道程序设计环境下,系统具有如下特点。 (1)资源的独占性:任何时候,位于内存中的程序可以使用系统中的一切资源,不可能有其他程序与之竞争。,(2)执行的顺序性:内存中每次只有一个程序,各个程序

2、是按次序执行的,即做完一个,再做下一个。,绝对不可能出现在一个程序运行过程中,又夹杂进另一个程序执行的现象存在。,(3)结果的再现性:只要执行环境和初始条件相同,重复执行一个程序,获得的结果总是一样的。,在多道程序设计环境下,内存中允许有多个程序存在,它们轮流地使用着CPU。,图2-1 不同环境下程序的执行特性,图2-2 对两个程序的描述,在多道程序设计环境下,系统具有如下特点。,(1)执行的并发性:从宏观上看,同时在内存的多个程序都在执行着,在按照自己程序规定的步骤向前推进;从微观上看,由于CPU在任何时刻只能执行一个程序,因此这些程序轮流占用CPU,交替地执行着。,把“逻辑上相互独立的程序

3、,在执行时间上相互重叠,一个程序的执行还没有结束,另一个程序的执行已经开始”的这种特性,称为程序执行的并发性。,(2)相互的制约性:内存既然运行着多个程序,它们又共享系统内的资源,相互之间必然会呈现出各种各样的制约。一种是间接制约关系,一种是直接制约关系,(3)状态的多变性:由于诸多程序在系统中并发执行,它们之间在运行过程中存在着各种各样的制约关系,造成内存中每一个程序的状态总处于不断变化之中。,在多道程序设计环境下,“程序”具有了与单道程序设计环境下截然不同的特性。,一方面为了保持程序“是一个在时间上严格有序的指令集合”这个概念的原有含义,另一方面为了刻画多个程序共同运行时呈现出的这些特征,

4、在操作系统中,以“程序”为基础,又引入了“进程”这一新的概念。,2.1.2 进程的定义 可以从如下三个方面来描述进程.,(1)进程是程序的一次运行活动。 (2)进程的运行活动是建立在某个数据集合之上的。 (3)进程在获得资源的基础上从事自己的运行活动。,本书把进程的定义描述为:所谓“进程”是指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调度的独立单位。,在多道程序设计系统中,既运行着操作系统程序,又运行着用户程序,因此整个系统中存在着两类进程,一类是系统进程,一类是用户进程。,这是两类不同性质的进程,主要区别如下。,(1)系统进程之间的相互关系由操作系统负责协调,以便有利于

5、增加系统的并行性,提高资源的整体利用率;用户进程之间的相互关系要由用户自己(在程序中)安排。,不过,操作系统会向用户提供一定的协调手段(以命令的形式)。,(2)系统进程直接管理有关的软、硬件资源的活动;用户进程不得插手资源管理。在需要使用某种资源时,必须向系统提出申请,由系统统一调度与分配。,(3)系统进程与用户进程都需要使用系统中的各种资源,它们都是资源分配与运行调度的独立单位,但系统进程的使用级别,应该高于用户进程。,2.1.3 进程的特征 进程是程序的一次执行过程,程序是进程赖以存在的基础,进程的主要特征以及与程序的区别有如下几个方面。,(1)“进程”是一个动态的概念。进程强调的是程序的

6、一次“执行”过程,程序是一组有序指令的集合,在多道程序设计环境下,它不涉及“执行”,因此是一个静态的概念。,(2)不同进程可以执行同一个程序。即使多个进程执行同一个程序,只要它们运行在不同的数据集合上,它们就是不同的进程。,(3)每一个进程都有自己的生命期。当系统要完成某一项工作时,它就“创建”一个进程,程序执行完毕,系统就“撤销”这个进程,收回它所占用的资源。,一个进程创建后,系统就感知到它的存在;一个进程撤销后,系统就无法再感知到它。从创建到撤销,这个时间段就是一个进程的“生命期”。,(4)进程之间具有并发性。在一个系统中,同时会存在多个进程。于是与它们对应的多个程序同时在系统中运行,轮流

7、占用CPU和各种资源。,(5)进程间会相互制约。由于进程是系统中资源分配和运行调度的单位,因此在对资源共享和竞争中,必然会相互制约,影响了各自向前推进的速度。,2.1.4 进程的基本状态 进程在其生命期内,可以处于下面三种基本状态之一。,(1)运行状态:获得CPU的进程处于此状态,其对应的程序正在处理机上运行着。,(2)阻塞状态:进程为了等待某种外部事件的发生(如等待输入/输出操作的完成,等待另一个进程发来消息),暂时无法运行。阻塞状态也称等待状态或挂起状态。,(3)就绪状态:已具备运行所需的一切条件,只是由于别的进程占用处理机而暂时无法运行。,一个进程的状态,可以随着自身的推进和外界环境的变

8、化而变化,从而使其从一种状态变迁到另一种状态。图2-3所示为进程状态变迁图,,图2-3 进程状态的变迁图,例2-1 图2-3所示的进程状态变迁图,在什么条件下会发生下面给出的因果变迁(意为由一个进程的状态变迁必定引起另一个进程的状态变迁)。,(1)一个进程从运行状态变为就绪状态,一定会引起另一个进程从就绪状态变为运行状态。,(2)一个进程从运行状态变为阻塞状态,一定会引起另一个进程从运行状态变为就绪状态。,(3)一个进程从阻塞状态变为就绪状态,一定会引起另一个进程从就绪状态变为运行状态。,2.2 进程控制块,2.2.1 进程的三个组成部分 一个进程创建后,需要有自己对应的程序以及该程序运行时所

9、需的数据,,为了管理和控制进程,系统在创建每一个进程时,都为其开辟一个专用的存储区,用以随时记录它在系统中的动态特性。,而当一个进程被撤销时,系统就收回分配给它的存储区。把这一存储区称为该进程的进程控制块(Process Control Block,PCB)。,由于PCB是随着进程的创建而建立,随着进程的撤销而取消的,因此系统是通过PCB来“感知”一个个进程的,PCB是进程存在的唯一标志。,这样,在计算机系统内部,一个进程要由三个部分组成:程序、数据集合以及PCB。,图2-4 进程的不同表示,(a) (b) (c),2.2.2 进程控制块的内容 随操作系统的不同,PCB的格式、大小以及内容也不

10、尽相同。通常,在PCB中大致应包含如图2-5所示的四方面的信息。,图2-5 PCB所包含的信息,(1)标识信息 (2)说明信息 (3)现场信息 (4)管理信息,表2-1所示为实时操作系统RTOS中PCB的具体构成。,表2-1 RTOS的PCB组成,2.2.3 进程控制块队列 在多道程序设计环境里,同时会创建多个进程。,当计算机系统只有一个CPU时,每次只能让一个进程运行,其他的进程或处于就绪状态,或处于阻塞状态。,为了对这些进程进行管理,操作系统要做三件事。,(1)把处于相同状态的进程的PCB,通过各自的队列指针链接在一起,形成一个个队列。,(2)为每一个队列设立一个队列头指针,它总是指向排在

11、队列之首的进程的PCB。,(3)排在队尾的进程的PCB,它的“队列指针”项内容应该为“1”,或一个特殊的符号,以表示这是该队的队尾PCB。,图2-6 进程PCB队列示意图,2.3 进程的调度与管理,2.3.1 进程调度算法 当系统中有多个进程就绪时,必须决定先执行哪一个。,也就是说,必须决定把CPU分配给谁使用。操作系统中做出这一决定的程序称为“进程调度程序”,该程序中采用的调度方法,称为进程调度算法。,1先来先服务调度算法 先来先服务调度算法的基本思想是:以到达就绪队列的先后次序为标准来选择占用处理机的进程。,一个进程一旦占有处理机,就一直使用下去,直至正常结束或因等待某事件的发生而让出处理

12、机。,图2-8 先来先服务调度算法示意图,2时间片轮转调度算法 时间片轮转调度算法的基本思想是:为就绪队列中的每一个进程分配一个称为“时间片”的时间段,它是允许该进程运行的时间长度。,在使用完一个时间片后,即使进程还没有运行完毕,也要强迫其释放处理机,让给另一个进程使用。,它自己则返回到就绪队列末尾,排队等待下一次调度的到来。,时间片轮转调度算法经常用在分时操作系统中,在时间片轮转调度算法中,时间片大小的设定是一个影响系统效率发挥的重要因素。,图2-9 时间片轮转调度算法示意图,例2-2 有一个分时系统,允许10个终端用户同时工作,时间片设定为100ms。若对用户的每一个请求,CPU将耗费30

13、0ms的时间进行处理,做出回答。试问终端用户提出两次请求的时间间隔最少是多少?,3优先数调度算法 优先数调度算法的基本思想是:为系统中的每个进程规定一个优先数,就绪队列中具有最高优先数的进程有优先获得处理机的权利。,如果几个进程的优先数相同,则对它们实行先来先服务的调度。,确定进程的优先数(也就是进程的优先级)可以从如下几个方面考虑。,(1)根据进程的类型。 (2)根据进程执行任务的重要性。 (3)根据进程程序的性质。 (4)根据对资源的要求。 (5)根据用户的请求。,进程的优先数可以分为静态和动态两类。,4多级队列调度算法 多级队列调度算法也称多级反馈队列调度算法,它是时间片调度算法与优先数

14、调度算法的结合。,实行这种调度算法时,系统中将维持多个就绪队列,每个就绪队列具有不同的调度级别,可以获得不同长度的时间片,如图2-10所示。,图2-10 多级队列调度算法示意图,例2-3 如图2-11所示,通过进程状态变迁图描述了一个进程调度算法。试分析该图,说明该调度算法的基本思想。,图2-11 进程状态变迁,进程调度程序应该具有以下几个方面的主要功能。,(1)记录系统中所有进程的有关情况,比如进程的当前状态,优先数等。,图2-12 进程调度程序的作用,(2)确定分配处理机的算法,这是它的一项主要工作。,(3)完成处理机的分配。要注意,在操作系统中,是进程调度程序实施处理机的具体分配的。 (

15、4)完成处理机的回收。,可以看出,进程调度程序负责具体的处理机分配,完成进程间的切换工作,因此它的执行频率是相当高的,是一个操作系统的真正核心。,通常,在发生下述情况时,会引起进程调度程序的工作。,(1)一个进程从运行状态变成了阻塞状态(如请求进行输入/输出操作)。,(2)一个进程从运行状态变成了就绪状态(如在分时系统中,已经运行满一个时间片)。,(3)一个进程从阻塞状态变成了就绪状态(如等待的输入/输出操作完成)。 (4)一个进程正常运行结束后被撤销。,把处理机分配给进程后,还有一个允许它占用多长时间的问题,具体有两种处理方式,一种是不可剥夺(或不可抢占)方式,另一种是剥夺(或抢占)方式。,

16、所谓不可剥夺方式,即只能由占用处理机的进程自己自愿放弃处理机。,所谓剥夺方式,即当系统中出现某种条件时,就立即从当前运行进程手中抢夺过处理机,重新进行分配。,2.3.2 进程管理的基本原语 为了对进程进行有效的管理和控制,操作系统要提供若干基本的操作,以便能创建进程、撤销进程、阻塞进程和唤醒进程。,为了保证执行时的绝对正确,要求它们以一个整体出现,不可分割。,也就是说,一旦启动了它们的程序,就要保证做完,中间不能插入其他程序的执行序列。在操作系统中,把具有这种特性的程序称为“原语”。,1创建进程原语 调用该原语的进程被称为父进程,创建的新进程被称为子进程。创建进程原语的主要功能有三项。,图2-13 创建进程原语的流程,(1)为新建进程申请一个进程控制块PCB

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

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

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