CPU调度-计算机硬件教学讲义52P.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 CPU调度 多道程序的关键是调度:对CPU资源进行合理的分配使用,以提高处理机利用率,并使各用户公平地得到处理机资源。 处理机调度是OS的重要功能之一。 WHAT:按什么原则分配CPU —进程调度算法 WHEN:何时分配CPU —进程调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换) 7.1 处理器调度的类型 处理器调度 对CPU资源进行合理地分配使用,以提高CPU的利用率,使各用户公平地得到CPU资源。 处理器调度的目标 以满足系统目标(如响应时间、吞吐率、处理器效率)的方式,把进程分配在一个处理器或多个处理器上执行。 处理器调度的准则 面向用户的准则 响应时间 (min); 周转时间(结束时间-进入系统时间)(min); 优先级 面向系统的准则 吞吐量(max) CPU利用率(max) 公平 资源的平衡使用 系统开销 (min) 7.1 处理器调度的类型 长程调度(高级调度):从外存的后备队列中选择一个或者多个作业调入内存,并为它们创建进程,分配必要的资源。 长程调度程序决定OS可以接纳一个还是多个进程 创建的进程越多,每个进程执行时间百分比就越小。 每当一个进程终止时或空闲时间片超过了一定的域值 ,调度程序可能会决定增加一个或多个新进程,或调用长程调度程序。 决定下一次允许哪个进程进入: 基于简单的FIFO原则,基于优先级、执行时间、I/O需求等 进程状态的变化为: 创建-就绪/挂起;创建-就绪 7.1 处理器调度的类型 中程调度(中级调度):将进程的部分或全部加载到内存中,提高内存利用率。进程状态变化(通过执行挂起和激活操作): 就绪/挂起-就绪 阻塞/挂起-阻塞 短程调度(低级调度、进程调度、分派程序dispather ):选择哪个进程在处理机上执行,执行最频繁) 进程状态:就绪-运行 当可能导致当前进程挂起或可能剥夺当前正在运行的进程的事件发生时,调用短程调度程序。包括如下事件: 时钟中断、I/O中断、操作系统调用、信号 7.1 处理器调度的类型 三种调度类型之间的关系: 当创建新进程时,执行高级调度,将新进程加入到当前活动的一组进程中。 中级调度是交换功能的一部分,它将一个进程至少部分换入内存中,使之以后能够执行。 低级调度才真正决定哪个就绪进程是下一个得以执行的进程。 几个概念:CPU burst vs. I/O burst 阵发期 : CPU burst cycle: 进程(线程)使用CPU计算; I/O burst cycle: 进程(线程)使用设备I/O。 进程运行行为: CPU burst, I/O burst, CPU burst, I/O burst, …… CPU调度:考虑处于CPU burst进程集合 CPU burst时间根据以前行为推定。 7.2 进程调度算法-基本类型 非抢占调度(NonPreemptive):就绪进程不可以从运行进程手中抢占CPU。 一旦进程处于运行状态,它就不断执行直到终止或者为等待I/O或请求某些操作系统服务而阻塞自己,才把CPU让给别人 抢占调度(Preemptive):就绪进程可以从运行进程手中抢占CPU。 允许调度程序根据某种策略中止当前运行进程的执行,将其转移到就绪状态,并选择另一个进程投入运行。 时机: 一个新进程到达时 一个中断的发生 将一个被阻塞进程置为就绪态 周期性的时间中断 7.2 进程调度算法-基本类型 比较: 抢占策略可能会导致较大的开销,但是可对所有进程提供较好的服务,避免任一个进程独占CPU太长时间 通过使用有效的进程切换机制以及提供比较大的主存,使得大部分程序都在主存中,剥夺的代价可以相对比较低。 7.2 进程调度程序的功能 保存现场:记录放弃CPU的进程A的现场信息(如PC,通用寄存器的内容等) 选择进程:当进程出让CPU或调度程序剥夺执行状态进程占用的CPU时,选择适当的进程B分派CPU 完成上下文切换 用户态执行进程A代码,之后进入OS内核(通过时钟中断或系统调用) 保存进程A的上下文,载入进程B的上下文(CPU寄存器和一些表格的当前指针) 用户态执行进程B代码 7.2 进程调度-执行时机 与引起进程调度的原因及进程调度的方式有关: 创建进程。决定运行父进程还是子进程; 进程终止。正在执行的进程执行完毕; 执行中进程自己调用阻塞原语将自己阻塞进入阻塞状态; 执行中进程调用了P原语操作或V操作原语; 执行中进程提出I/O请求后被阻塞; 在分时系统中时间片已经用完; 在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行 在CPU执行是可剥夺的方式下,还有: 就绪队列中的某进程的优先级变得高于当前执

文档评论(0)

策略培训库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档