第3章处理机调度与死锁part1

上传人:aa****6 文档编号:55571988 上传时间:2018-10-02 格式:PPT 页数:24 大小:866.01KB
返回 下载 相关 举报
第3章处理机调度与死锁part1_第1页
第1页 / 共24页
第3章处理机调度与死锁part1_第2页
第2页 / 共24页
第3章处理机调度与死锁part1_第3页
第3页 / 共24页
第3章处理机调度与死锁part1_第4页
第4页 / 共24页
第3章处理机调度与死锁part1_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《第3章处理机调度与死锁part1》由会员分享,可在线阅读,更多相关《第3章处理机调度与死锁part1(24页珍藏版)》请在金锄头文库上搜索。

1、1,第三章 处理机调度与死锁,3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除,2,调度介绍,早期 批处理系统,依次运行磁带上的作业。 分时系统 多个作业等候服务 复杂一些的调度算法 批处理与分时系统结合 要决定下一个运行的是一个批处理作业还是一个交互用户 个人计算机 高端网络工作站和服务器,CPU是稀缺资源,好的调度可以提高系统性能和用户满意度。,3,调度介绍,早期 个人计算机 多数时间只有一个活动进程 计算机速度极快 高端网络工作站和服务器,调度程序在简单的PC机

2、上并不重要。,4,调度介绍,早期 个人计算机 高端网络工作站和服务器 多个进程经常竞争CPU 例如当CPU必须在用户关闭窗口之后的屏幕刷新进程和运行发送排队的电子邮件之间选择时。若关闭窗口花费2秒钟,而此时电子邮件正在发送,用户会注意到系统极端停滞;而如果延迟2秒钟发送电子邮件,用户根本不会注意到。这个例子中,进程调度如何处理是非常重要的。 调度程序要考虑CPU的利用率,因为进程切换的代价是比较高的。,进程调度如何处理是非常重要的。,5,3.1 处理机调度的层次,3.1.1 高级、中级和低级调度,1. 高级调度(High Scheduling),在每次执行作业调度时,都须做出以下两个决定。1)

3、 接纳多少个作业 2) 接纳哪些作业,6,2. 低级调度(Low Level Scheduling),1) 非抢占方式(Non-preemptive Mode)在采用非抢占调度方式时,可能引起进程调度的因素可归结为这样几个: 正在执行的进程执行完毕, 或因发生某事件而不能再继续执行; 执行中的进程因提出I/O请求而暂停执行; 在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block原语、Wakeup原语等。这种调度方式的优点是实现简单、系统开销小,适用于大多数的批处理系统环境。但它难以满足紧急任务的要求立即执行,因而可能造成难以预料的后果。显然,在要求比较严格的实时系统中

4、,不宜采用这种调度方式。,7,2) 抢占方式(Preemptive Mode),抢占的原则有:,优先权原则。 (2) 短作业(进程)优先原则。 (3) 时间片原则。,8,3. 中级调度(Intermediate-Level Scheduling),中级调度又称中程调度(Medium-Term Scheduling)。 引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量。 为此,应使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件、且内存又稍有空闲时,由中级调度来决定把外存上的哪些又具备运行条件

5、的就绪进程,重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。,9,3.2 调度队列模型和调度准则,1. 仅有进程调度的调度队列模型,图 3 - 1 仅具有进程调度的调度队列模型,3.2.1 调度队列模型,10,2. 具有高级和低级调度的调度队列模型,图 3-2 具有高、低两级调度的调度队列模型,就绪队列的形式。 (2) 设置多个阻塞队列。,图 3-2 示出了具有高、低两级调度的调度队列模型。该模型与上一模型的主要区别在于如下两个方面。,11,3. 同时具有三级调度的调度队列模型,图 3-3 具有三级调度时的调度队列模型,12,3.2.2 选择调度方式和调度算法的若干准则,1.

6、 面向用户的准则,(1) 周转时间短。,可把平均周转时间描述为:,作业的周转时间T与系统为它提供服务的时间TS之比,即W=T/TS,称为带权周转时间,而平均带权周转时间则可表示为:,13,(2) 响应时间快。 (3) 截止时间的保证。 (4) 优先权准则。,14,2. 面向系统的准则,系统吞吐量高。 (2) 处理机利用率好。 (3) 各类资源的平衡利用。,15,3.3 调 度 算 法,3.3.1 先来先服务和短作业(进程)优先调度算法,1. 先来先服务调度算法,16,图 3-4 FCFS和SJF调度算法的性能,3.2,17,2. 短作业(进程)优先调度算法,短作业(进程)优先调度算法SJ(P)

7、F,是指对短作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。短作业优先(SJF)的调度算法,是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。短进程优先(SPF)调度算法,则是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时,再重新调度。,18,图 3-4 FCFS和SJF调度算法的性能,3.2,19,SJ(P)F调度算法也存在不容忽视的缺点:(1) 该算法对长作业不利,如作业C的周转时间由10增至16,其带权周转时间由2增至3.1。更严重的是,如果有一长作业(进程)进入系统的后备

8、队列(就绪队列),由于调度程序总是优先调度那些(即使是后进来的)短作业(进程),将导致长作业(进程)长期不被调度。(2) 该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理。(3) 由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。,20,调度算法比较,21,关于调度算法的几点说明: (1)批处理系统、分时系统和实时系统中的主要调度算法: 批处理系统中即设有作业调度,又设有进程调度。批处理系统中的作业调度算法有先来先服务(FCFS)、短作业优先(SJF)、优先级调度

9、(HPF)和高响应比优先(RF)。批处理系统的进程调度算法有:先进先出(FIFO)、短进程优先(SPF)、优先级调度(PRI)和高响应比优先(RF)。 分时系统中只设有进程调度,不设作业调度。其进程调度算法只有轮转法(RR)一种。,22,关于调度算法的几点说明:实时系统中只设有进程调度,不设作业调度。其进程调度算法有:轮转法(RR)、优先级调度算法(HPF)。后者又可细分为:非抢占式优先级调度、抢占式优先级调度(基于时钟中断的抢占式优先级调度和立即抢占的优先级调度)。 说明:实时系统中不可以使用先进先出(FIFO)和短进程优先算法(SPF)。(2)时间片轮转法:分时系统中,多个进程以轮流方式分

10、享CPU,一般与进程的优先级、进程进入就绪队列的时间、进程的长短等无关。,23,【例】有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10,6,2,4,8min。其优先级分别为3,5,2,1和4,这里5为最高优先级。对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。(1)先来先服务(按A,B,C,D,E)算法。,24,解: (1)采用先来先服务(FCFS)调度算法时,5个任务在系统中的执行顺序、完成时间及周转时间如表3-2所示: 表3-2 采用先来先服务(FCFS)调度算法,5个进程的平均周转时间T为: T=(10+16+18+22+30)/5=19.2min,

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

当前位置:首页 > 大杂烩/其它

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