第3章处理机调度与死锁part1_第1页
第3章处理机调度与死锁part1_第2页
第3章处理机调度与死锁part1_第3页
第3章处理机调度与死锁part1_第4页
第3章处理机调度与死锁part1_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 处理机调度与死锁 第三章 处理机调度与死锁 3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除 1第三章 处理机调度与死锁 调度介绍 早期 批处理系统,依次运行磁带上的作业。 分时系统 多个作业等候服务 复杂一些的调度算法 批处理与分时系统结合 要决定下一个运行的是一个批处理作业还是一个交互用户 个人计算机 高端网络工作站和服务器CPU是稀缺资源,好的调度可以提高系统性能和用户满意度。2第三章 处理机调度与死锁 调度介绍 早期 个人计算机 多数时间只有一个活动进程 计算机速度极快 高端网络工作站和服务器调度程序在简单的 PC机上并不重要。3第三章 处理机调度与死锁 调度介绍 早期 个人计算机 高端网络工作站和服务器 多个进程经常竞争 CPU 例如当 CPU必须在用户关闭窗口之后的屏幕刷新进程和运行发送排队的电子邮件之间选择时。若关闭窗口花费 2秒钟,而此时电子邮件正在发送,用户会注意到系统极端停滞;而如果延迟 2秒钟发送电子邮件,用户根本不会注意到。这个例子中,进程调度如何处理是非常重要的。 调度程序要考虑 CPU的利用率,因为进程切换的代价是比较高的。进程调度如何处理是非常重要的。4第三章 处理机调度与死锁 3.1 处理机调度的层次 3.1.1 高级、中级和低级调度 1. 高级调度 (High Scheduling) 在每次执行作业调度时,都须做出以下两个决定。 1) 接纳多少个作业 2) 接纳哪些作业 5第三章 处理机调度与死锁 2. 低级调度 (Low Level Scheduling) 1) 非抢占方式 (Non-preemptive Mode)在采用非抢占调度方式时,可能引起进程调度的因素可归结为这样几个: 正在执行的进程执行完毕, 或因发生某事件而不能再继续执行; 执行中的进程因提出 I/O请求而暂停执行; 在进程通信或同步过程中执行了某种原语操作,如 P操作 (wait操作 )、 Block原语、 Wakeup 原语等。这种调度方式的 优点 是 实现简单、系统开销小 ,适用于大多数的批处理系统环境。但它难以满足紧急任务的要求 立即执行,因而可能造成难以预料的后果。显然,在要求 比较严格的实时系统中,不宜采用这种调度方式。 6第三章 处理机调度与死锁 2) 抢占方式 (Preemptive Mode) 抢占的原则有: (1) 优先权原则。(2) 短作业 (进程 )优先原则。 (3) 时间片原则。 7第三章 处理机调度与死锁 3. 中级调度 (Intermediate-Level Scheduling) 中级调度又称中程调度 (Medium-Term Scheduling)。 引入中级调度的主要目的,是为了 提高内存利用率和系统吞吐量 。 为此,应使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为 就绪驻外存状态 或 挂起状态 。当这些进程重又具备运行条件、且内存又稍有空闲时,由中级调度来决定把外存上的哪些又具备运行条件的就绪进程,重新调入内存,并修改其状态为就绪状态,挂在就绪队列 上等待进程调度。 8第三章 处理机调度与死锁 3.2 调度队列模型和调度准则 1. 仅有进程调度的调度队列模型 图 3 - 1 仅具有进程调度的调度队列模型 3.2.1 调度队列模型9第三章 处理机调度与死锁 2. 具有高级和低级调度的调度队列模型 图 3-2 具有高、低两级调度的调度队列模型 (1) 就绪队列的形式。 (2) 设置多个阻塞队列。 图 3-2 示出了具有高、低两级调度的调度队列模型。该模型与上一模型的 主要区别在于如下两个方面。 10第三章 处理机调度与死锁 3. 同时具有三级调度的调度队列模型 图 3-3 具有三级调度时的调度队列模型 11第三章 处理机调度与死锁 3.2.2 选择调度方式和调度算法的若干准则 1. 面向用户的准则 (1) 周转时间短。 可把平均周转时间描述为: 作业的周转时间 T与系统为它提供服务的时间 TS之比,即W=T/TS, 称为带权 周转时间 ,而平均带权周转时间则可表示为 : 12第三章 处理机调度与死锁 (2) 响应时间快。 (3) 截止时间的保证。 (4) 优先权准则。 13第三章 处理机调度与死锁 2. 面向系统的准则 (1) 系统吞吐量高。(2) 处理机利用率好。 (3) 各类资源的平衡利用。 14第三章 处理机调度与死锁 3.3 调 度 算 法 3.3.1 先来先服务和短作业 (进程 )优先调度算法 1. 先来先服务调度算法 15第三章 处理机调度与死锁 图 3-4 FCFS和 SJF调度算法的性能 3.216第三章 处理机调度与死锁 2. 短作业 (进程 )优先调度算法 短作业 (进程 )优先调度算法 SJ(P)F, 是指对短作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。短作业优先 (SJF)的调度算法,是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。短进程优先 (SPF)调度算法,则是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时,再重新调度。 17第三章 处理机调度与死锁 图 3-4 FCFS和 SJF调度算法的性能 3.218第三章 处理机调度与死锁 SJ(P)F调度算法也存在不容忽视的 缺点 : (1) 该算法对长作业不利,如作业 C的周转时间由 10增至 16,其带权周转时间由 2增至 3.1。更严重的是,如果有一长作业 (进程 )进入系统的后备队列 (就绪队列 ),由于调度程序总是优先调度那些 (即使是后进来的 )短作业 (进程 ),将导致长作业 (进程 )长期不被调度。 (2) 该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业 (进程 )会被及时处理。(3) 由于作业 (进程 )的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度 。 19第三章 处理机调度与死锁 先来先服 务 短作 业优 先 高响 应 比 优 先 时间 片 轮转 多 级 反 馈队 列能否是可 抢 占 否 能 能 能 队 列内不一定能否是不可 抢 占 能 能 能 否 队 列内不一定优 点 公平, 实现简单 ,利于 CPU繁忙型平均等待 时间 最少,效率最高兼 顾长 短作业兼 顾长 短作业兼 顾长 短作 业 ,有 较 好的响 应时间 ,利于 终 端型作 业 和短批 处 理作 业缺点 不利于短作业 ,不利用I/O繁忙型长 作 业 会 饥饿 ,估 计时间 不易确定,未考 虑紧迫程度计 算响 应 比的开 销 大平均等待 时间较长 ,上下文切 换 浪 费时间尤其适用于 作 业调 度,批 处 理系 统分 时 系 统 相当通用能否用于作 业调 度 能 能 能 否 否能否用于 进 程 调 度 能 能 能 能 能调度算法比较20第三章 处理机调度与死锁 关于调度算法的几点说明:( 1)批处理系统、分时系统和实时系统中的主要调度算法:l 批处理系统 中即设有作业调度,又设有进程调度。批处理系统中的作业调度算法有先来先服务( FCFS)、短作业优先(SJF)、优先级调度( HPF)和高响应比优先( RF)。批处理系统的进程调度算法有:先进先出( FIFO)、短进程优先(SPF)、优先级调度( PRI)和高响应比优先( RF)。l 分时系统中 只设有进程调度,不设作业调度。其进程调度算法只有轮转法( RR)一种。21第三章 处理机调度与死锁 关于调度算法的几点说明:实时系统 中只设有进程调度,不设作业调度。其进程调度算法有:轮转法( RR)、优先级调度算法( HPF)。后者又可细分为:非抢占式优先级调度、抢占式优先级调度(基于时钟中断的抢占式优先级调度和立即抢占的优先级调度)。说明:实时系统中不可以使用先进先出( FIFO)和短进程优先算法( SPF)。( 2)时间片轮转法:分时系统中,多个进程以轮流方式分享 CPU,一般与进程的优先级、进程进入就绪队列的时间、进程的长短等无关。22第三章 处理机调度与死锁 【 例 】 有 5个任务 A, B, C, D, E,它们几乎同时到达,预计它们的运行时间为 10, 6, 2, 4, 8min。其优先级分别为 3, 5, 2, 1和 4,这里 5为最高优先级。对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。( 1)先来先服务(按 A, B, C, D, E)算法。23第三章 处理机调度与死锁 解:( 1)采用先来先服务( FCFS)调度算法时, 5个任务在系统中的执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论