第三节进程调度.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
进程调度 进程调度程序(scheduler)在集中式、网络和分布式操作系统中是支持CPU共享(多道程序设计)的基本机构。进程调度程序可以由一个处理机自愿地用一个让给(yield)系统调用来引用,或者隐涵地由一个时钟中断或一个资源请求加以引用。 进程调度程序的任务是估算就绪队列中的进程集合,从中选择一个进程,将它分配到空闲处理机。进程调度程序将正在运行的进程的运行状态改变为就绪状态或阻塞状态,保存该进程的现场,选择一个就绪的新进程,恢复这个新进程的现场,然后,将该进程的状态改变为运行状态(即,激活这个进程)。 无论何时每当一个处理机变成空闲时,在绪队列中的进程之间存在着占用该空闲处理机的竞争。操作系统的调度策略(scheduling strategy)或调度政策(scheduling policy)用于规定如何解决这个竞争。 在本章的第一节中我们将研究单处理机(uniprocessor)进程调度程序,然后,我们讨论多处理机(multiprocessor)进程调度程序。 单处理机进程调度 在单处理机进程调度中,在任何给定时刻仅有一个进程在运行,其它的进程或者准备运行和竞争这个处理机,或者被阻塞在一个资源请求上。进程调度的排队论模型见图3-1。 图3-1 进程调度 进程调度的功能和方式 所谓进程调度的方式,是指当一个进程正在处理机上运行时,如果有某个更为“重要或紧迫”的进程需要处理机,亦即若有优先数更高的进程进入就绪队列,如何分配处理机。通常有两种进程调度的方式: ⑴非剥夺方式(Nonpreemptive):仍然正在处理机上运行的进程继续执行,直到该进程完成或发生某个事件,而进入“完成”或“阻塞”状态时,才把处理机分配给这个更为“重要或紧迫”的进程,使之运行。这种进程调度方式称为非剥夺方式或者称为非抢占方式。 ⑵剥夺方式(Preemptive):只要有更为“重要或紧迫”的进程,便暂停正在运行的进程,立即将处理机分配给这个更为“重要或紧迫”的进程。这就是所谓的剥夺调度方式,也称为抢占方式。 进程调度的核心问题就是采用何种进程调度算法把处理机分配给进程。 进程调度算法 常用的进程调度算法有下列算法: ⑴最高优先数(Highest Priority First):这是一种最常用的进程调度算法。它把处理机分配给具有最高优先数的进程。通常有静态优先数和动态优先数两类计算优先数的方法。 ⑵轮转法(Round Robin):这是一种分时系统常用的进程调度算法。它把处理机轮转地分配给进程。通常有简单轮转法,可变时间片轮转法和多队列轮转法等。 ⑶混合法:将多种方法组合在一起。 定义3-1 设P = {pi | 1 ( i ( n}是一个进程集合,S(pi)是进程pi的状态,其中S(pi)({阻塞,运行,就绪}。服务时间请求(service time request)((pi)是进程pi在完成以前在运行状态所要求的时间量。进程pi在时刻t的优先权(priority)prit(pi)是一个映照 prit:P ( 非负整数 ( {(} 优先权可以关于时间是不变的,此时我们省略下标t。 一个特定的调度算法的调度策略可以由规定优先权映照确定。如果一个进程是就绪或运行的,则它的优先权是确定的。处在阻塞状态的进程的优先权被映照到(,并且不能被调度。对所有的进程规定其优先权以及规定将处理机赋予具有最高优先权(最小数)的进程,我们就规定了调度策略。 一个算法的性能可以用当进程进入就绪态时要求获得服务的期望的时间量来估算。存在两种常用的时间测度。 定义3-2 一个进程pi的等待时间(waiting time)TWAIT(pi)是进程化在等待使用处理机的时间量。系统中所有进程的期望等待时间(expected waiting time)是在任意给定时刻系统中所有进程的等待时间的平均值。 例如,假设没有两个进程具有相同的优先权以及在后没有其它进程将进入就绪队列,则我们有 TWAIT(pi) = +(k=1n ((pk) 其中,prit(pk) prit(pi),并且如果pj是阻塞的,则prit(pj) = (。 一个进程的期望等待时间是一个时间量的指标,即一个“平均”进程将化在就绪队列中等待服务的时间。期望等待时间不一定是一个调度算法的性能的最佳测度,因为它可能喜爱这些在长期运行的进程上的“平均”进程,它们可能不和全部操作系统策略相一致。 定义3-3 一个进程pi的周转时间(turnaround time)TTRUNAROUND(pi)是进程在进入就绪态和进程退出运行态之间所化的时间量。系统中所有进程的期望周转时间(expected turnaround time)是在任意给定时刻系统中所有进程的周转时间的平均值。 例如,假设没有两个进程具有相同的优先权以及在后没有其

您可能关注的文档

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档