《处理器调度》PPT课件.ppt
《《处理器调度》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《处理器调度》PPT课件.ppt(67页珍藏版)》请在三一办公上搜索。
1、第5章 处理器调度,引言51 三级调度的概念52 作业调度53 进程调度54 常用的调度算法55 实例分析:UNIX进程调度,引言,处理器是计算机系统中一个十分重要的资源。随着多道程序设计技术出现,处理器的管理也日趋复杂。对于不同类型的操作系统,处理器的管理方法各不相同。不同的处理器管理方法将为用户提供不同性能的操作系统。因此,根据操作系统目标的不同,处理器的管理策略是不尽相同的。本章将以处理器管理为核心,讨论与处理器调度有关的概念,并介绍常用的调度算法。,51 三级调度的概念,在多道程序系统中,一个作业被提交后,并不一定能立即执行,必须经过处理器调度,方可为其创建进程,分配内存,从而进入执行
2、状态,称为作业调度或高级调度。而作业的执行归结为进程的调度,又称为低级调度。在比较完善的系统中,为了提高内存的利用率,往往还设置了对换调度,即中级调度。,511 作业的状态及其转换,作业是用户在一次解题或一个事务处理过程中要求计算机系统所做的工作的集合。作业由用户程序、所需的数据及作业说明书三部分组成。计算机系统完成一个作业过程中所做的一项相对独立的工作称为一个作业步。在多道程序系统中,一个作业在它的生命期内要经历提交、后备、运行和完成四个主要的阶段。,511 作业的状态及其转换,提交状态:当用户将自己的作业提交给操作员,操作员通过某种输入方式将用户提交的作业输入到外存上时,称此阶段为作业处于
3、提交状态。作业输入方式通常有5种:联机输入方式:该方式大多用在交互式系统中,用户和系统通过交互式会话来输入作业。在联机方式中,外围设备直接和主机相连接,一台主机可连接一台或多台外围设备。脱机输入方式:脱机输入方式利用低档I/O处理器作为外围处理器进行输入处理,提高了主机的资源利用率。,511 作业的状态及其转换,联机输入方式:该方式大多用在交互式系统中,用户和系统通过交互式会话来输入作业。在联机方式中,外围设备直接和主机相连接,一台主机可连接一台或多台外围设备。脱机输入方式:脱机输入方式利用低档I/O处理器作为外围处理器进行输入处理,提高了主机的资源利用率。,511 作业的状态及其转换,直接耦
4、合方式:该方式是把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入时依靠人工干预来传递给后援存储器的过程。SPOOLing系统:在SPOOLing系统中,多台外围设备通过通道或DMA器件将主机与外存连接起来,作业的输入过程由主机中的操作系统控制。网络输入方式:该方式以上述几种输入方式为基础。当用户需要把在网络中某一台主机上输入的信息传递到同一网络中的另一台主机上进行操作或执行时,就构成了网络输入方式。,511 作业的状态及其转换,后备状态:当操作系统为输入并存放在外存输入井上的作业建立一个作业控制块(JCB,Job Control Block)之后,作业就进入了后备状
5、态。作业从建立JCB到被作业调度程序选中运行,所处的状态叫做后备状态。运行状态:作业调度程序从处于后备状态的作业队列中按一定的算法选中一个作业调入内存,并为之建立相应的进程后,由于此时的作业已具有独立运行的资格,如果处理器空闲,便可立即开始执行,称此时的作业进入了运行状态。完成状态:当作业(进程)运行正常完成或异常结束时,便自我终止(正常完成),或被迫终止(异常终止),此时作业便进入完成状态。,511 作业的状态及其转换,作业状态及其转换如下图所示:,512 调度的层次,高级调度:高级调度又称作业调度。作业调度程序决定把哪些后备队列中的作业调入内存,并为其创建进程,分配必要的资源,最后将所创建
6、的进程插入就绪队列,以使该作业的进程获得竞争处理器的权利。在批处理系统中或者是操作系统中的批处理部分都配有作业调度。中级调度:中级调度又称交换调度,它的主要功能是按一定的算法在内存和外存之间进行进程对换,其目的是为了使内存紧张的情况得以缓解。交换调度的主要工作是将内存中处于阻塞状态的某些进程换至外存,腾出内存空间以便将外存上已具备运行条件的进程换入内存,准备运行。进程在其整个生命期间可能要经历多次换进换出,在分时系统中常采用交换调度。,512 调度的层次,低级调度:低级调度又称进程调度。其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理器。它决定就绪队列中哪个进程先获得处理器,然
7、后再由分派程序执行将处理器分配给进程的操作。,513 调度模型,从上述操作系统的调度类型可知,虽然操作系统的调度机制不尽相同,有的操作系统仅设有低级调度,有的操作系统则拥有高级调度和低级调度,有的操作系统三级调度一应俱全。但是操作系统中的任何一种调度都涉及进程队列,因此根据操作系统的不同性能,一般有三种相应的调度队列模型。,512 调度的层次,一级调度队列模型:一级调度模型仅设置了进程调度。在这种调度模型中,用户输入的命令和数据都直接送入内存。操作系统会为每一个作业建立一个或多个进程,并将它们插入就绪队列,然后按照时间片轮转方式进行调度。一级调度队列模型如下图所示:,512 调度的层次,CPU
8、,就绪队列,阻塞队列,进程调度,时间片完,事件发生,等待事件,交互用户,进程完成,512 调度的层次,二级调度队列模型:在二级调度队列中,不仅有进程调度,还有作业调度。作业调度从外存中选择一批作业调入内存,为其创建进程并送入就绪队列。同时,当操作系统任务较多时,阻塞队列有可能很长。为了提高执行效率,通常设置若干个阻塞队列,不同队列对应于引起进程阻塞的不同原因。二级调度队列模型如下图所示:,512 调度的层次,:,后备作业队列,等待事件2,阻塞队列2,就绪队列,事件1发生,等待事件1,阻塞队列1,时间片完,事件2发生,等待事件n,阻塞队列n,事件n发生,作业调度,进程调度,:,CPU,512 调
9、度的层次,三级调度队列模型:三级调度队列模型同时拥有作业调度,交换调度和进程调度。在引入交换调度之后,可以把处于静止就绪和静止阻塞的进程从内存交换到外存上,以使内存紧张的状况得以缓解。三级调度队列模型如下图所示:,512 调度的层次,交换调度(外存),进程完成,后备作业队列,就绪队列,静止就绪队列,时间片完,等待事件,阻塞队列n,事件发生,作业调度,静止阻塞队列,进程调度,CPU,52 作业调度,只有批处理系统才必须具有作业调度。在分时系统和实时系统中都没有作业调度的概念。因为在分时系统中,由于要进行人机交互,系统必须能及时响应,为此应把用户从终端输入的作业直接送入内存而不是建立在外存上,因此
10、,不再需要专门用于把作业从外存调入内存的作业调度过程。对于实时系统中的实时任务,因为通常对其响应的时间更为严格,故也不需要作业调度。,521 作业调度的功能,作业调度主要是完成作业从后备状态到运行状态的转变,以及从运行状态到完成状态的转变。其主要功能如下:记录系统中各作业的状况:作业调度程序要能挑选出一个作业投入运行,并且在运行中对其进行管理。它必须掌握作业在各个状态,包括运行阶段的有关情况。为此,系统为每个作业建立一个作业控制块JCB(Job Control Block)来记录这些有关信息。JCB的主要内容包括作业名、作业类型、资源要求、当前状态、资源使用情况以及该作业的优先级等。与系统感知
11、进程存在时要通过进程控制块PCB一样,系统通过JCB而感知作业的存在。,521 作业调度的功能,从后备队列中挑选出一部分作业投入执行:作业调度程序根据选定的调度算法,从后备作业队列中挑选出若干作业去投入运行。为被选中的作业做好运行前的准备工作:作业调度程序为选中的作业建立相应的进程,并为这些进程分配它们所需要的全部资源,如分配给它们内存、外存、外设等。在作业运行结束时做善后处理工作:善后处理主要是输出作业管理信息,例如执行时间等。再就是回收该作业所占用的资源,撤消与该作业有关的全部进程和该作业的作业控制块等。,522 作业调度的目标与性能衡量,面向系统的准则:不同的操作系统有不同的要求,为了满
12、足系统功能的要求,在设计操作系统时,应遵循一些准则,最重要的有以下几点:吞吐量大:这是用来评价批处理系统的重要指标。吞吐量是单位时间内完成的作业数,它与批处理作业的平均长度有着密切关系。但作业调度的方式和算法,对吞吐量的大小也将产生较大的影响。CPU利用率高:对于大中型多用户系统,由于CPU价格十分昂贵,所以CPU的利用率成为衡量大中型系统性能的十分重要的指标。而调度方式和算法,对CPU的利用率起着十分重要的作用。,522 作业调度的目标与性能衡量,各类资源的平衡利用:在大中型系统中,有效地利用各类资源(如CPU、内存、外存和I/O设备等),也是一个重要指标。对于微机和某些实时系统,该准则也不
13、那么重要。,522 作业调度的目标与性能衡量,面向用户的准则:为了满足用户对操作系统的要求,应满足如下准则:周转时间短:周转时间是评价批处理系统的一个重要性能指标。作业周转时间是指从作业提交给系统开始,到作业完成为止的时间间隔。平均周转时间:计算机系统为使大多数用户对周转时间感到满意,引入了平均周转时间T的评价指标。对于有n个作业的系统,平均周转时间可描述为:,522 作业调度的目标与性能衡量,式中,n是系统中的作业个数,Ti是第i个作业的周转时间,Tei是作业的完成时间,Tsi是作业的提交时间。平均带权周转时间:周转时间没有考虑作业的运行时间,不能准确反映作业周转时间与作业运行时间的关系。为
14、此引入了平均带权周转时间。一个作业的带权周转时间定义为作业的周转时间与系统为它提供的实际服务时间之比,即W=Ti/Tri。n个作业的平均带权周转时间为:式中,Tri是系统为作业i提供的实际服务时间。,522 作业调度的目标与性能衡量,响应时间快:响应时间是评价分时系统的性能指标。它是从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间,或者说直到屏幕显示结果为止的时间。截止时间的保证:在实时系统中,截止时间是衡量系统性能好坏的重要指标。截止时间是指某任务必须完成的最迟时间。对于严格的实时系统,其调度方式和调度算法必须保证这一点,否则将可能引起难以预料的后果。优先权准则:在批处理、分时
15、、实时和多模式系统中,都可使用优先权准则,以便让那些紧急的作业得到及时的处理。在要求较严格的场合,往往还需要选择抢占调度方式,才能保证紧急作业得到及时的处理。,53 进程调度,进程调度的任务是控制、协调多个进程对处理器的竞争,即按照一定的调度算法从就绪队列中选中一个进程,并把处理器的使用权交给被选中的进程。操作系统为了对进程进行有效的监控,需要维护一些与进程相关的数据结构,记录所有进程的运行情况,并在进程让出处理器或调度程序剥夺运行状态进程占用处理器时,选择适当的进程分派处理器,完成上下文的切换。我们把操作系统内核中完成这些功能的部分称为进程调度程序(scheduler),它所使用的算法称为调
16、度算法(scheduling algorithm)。,53 进程调度,进程调度的任务是控制、协调多个进程对处理器的竞争,即按照一定的调度算法从就绪队列中选中一个进程,并把处理器的使用权交给被选中的进程。操作系统为了对进程进行有效的监控,需要维护一些与进程相关的数据结构,记录所有进程的运行情况,并在进程让出处理器或调度程序剥夺运行状态进程占用处理器时,选择适当的进程分派处理器,完成上下文的切换。我们把操作系统内核中完成这些功能的部分称为进程调度程序(scheduler),它所使用的算法称为调度算法(scheduling algorithm)。,53 1 进程调度的功能,进程调度的功能:作为进程调
17、度的准备,进程管理模块必须将系统中各进程的执行情况和状态特征记录在各进程的PCB中,作为管理进程的依据。选择占有处理器的进程:进程调度的主要功能是按照一定的策略选择一个处于就绪状态的进程,使其获得处理器运行。根据不同的系统设计目标,有各种各样的选择策略。进行进程上下文的切换:进程的上下文是进程执行活动全过程的静态描述。一个进程的上下文包括进程的状态、有关变量和数据结构的值、机器寄存器的值和PCB以及有关程序、数据等。一个进程的执行是在进程的上下文中执行的。当正在运行的进程由于某种原因要让出处理器时,系统要做进程上下文切换,以使另一个进程得以运行。,53 2 进程调度方式,非剥夺调度方式:调度程
18、序一旦把处理器分配给某进程,该进程就将一直运行下去,只有当进程完成或发生其事件而阻塞时,系统才把处理器分配给另一进程的调度方式称为非剥夺调度,也称非抢占方式(nonpreemptive scheduling)方式。在此调度方式下,系统不得以任何理由剥夺现行进程所占用的处理器。该调度方式的优点是简单、系统开销小,但却可能导致系统性能的恶化,表现为:当一个紧急任务到达时,不能立即投入运行,以至于延误时机;若干个后到的短作业,需要等待先到的长作业运行完毕后才能运行,致使短作业的周转时间较长。,53 2 进程调度方式,剥夺调度方式:进程的另一种调度方式是剥夺调度方式,或称抢占方式(preemptive
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 处理器调度 处理器 调度 PPT 课件
链接地址:https://www.31ppt.com/p-5487948.html