- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统 Operating System 第3章 处理机调度与死锁 3.1 处理机调度的层次 3.2 调度准则 3.3 调度算法 3.4 实时调度 3.5 死锁 本章重点: 调度层次和调度队列模型 处理机调度算法及其运用 如何理解实时调度的“实时”含义 实时调度算法 死锁概念的理解,产生死锁的原因 产生死锁的必要条件 死锁解决措施 本章难点: 对各种调度算法的掌握 实时调度算法的理解 银行家算法和安全性子算法 【三级调度模型】 3.1.2 进程调度的功能 【进程调度程序的功能】: 记录系统中所有进程的状态、优先数和资源的需求情况。 确定调度算法。决定将CPU分配给哪个进程及多长时间。 分配处理机给进程。进行CPU现场的保护和移交,并实现CPU使用权的移交。 处理机是计算机最重要的资源, 如何提高处理机的利用率及改善系统性能, 在很大程度上取决于进程调度(亦称处理机调度)性能的好坏, 进程调度成为操作系统设计中心工作。 3.1.3 进程调度方式 3.1.4 引起进程调度的时机(因素) 进程调度的时机是与进程调度的方式有关的。通常当发现以下情况时,当前运行进程的CPU被收回,需要重新进行进程调度: 正在执行的进程正确完成, 或由于某种错误而终止运行(陷阱或中断); 执行中的进程提出I/O请求, 等待I/O完成时; 在分时系统中,分给进程的时间片用完时; 按照优先级调度时, 有更高优先级进程变为就绪时(抢占方式); 在进程通信或进程同步过程中, 执行中的进程执行了某种原语操作, 如 P (wait)操作、阻塞原语和唤醒原语时, 都可能引起进程调度。 3.2 进程调度算法的评价准则 可从不同的角度来判断处理机调度算法的性能。实际的处理机调度算法选择是一个综合的判断结果。 1) 面向系统的调度性能准则 系统吞吐量:单位时间内处理的进程数。 处理机利用率:CPU利用率=CPU有效工作时间/CPU总的运行时间 各种设备的均衡利用:如CPU繁忙的作业和I/O繁忙(指次数多,每次时间短)的作业搭配。 2) 面向用户的调度性能准则 周转时间:作业从提交到完成所经历的时间——批处理系统。(公式中Tsi为实际运行时间)。 响应时间:用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间——分时系统 截止时间:开始截止时间和完成截止时间——实时系统。 公平性:不因作业或进程本身的特性而使上述指标过分恶化。如长作业等待很长时间。 优先级:可以使关键任务达到更好的指标。 易于实现 执行开销比 要设计一个理想的调度算法是一件十分困难的事,在实际系统中, 调度算法往往折衷考虑。大多数操作系统都采用比较简单的调度算法。 3.3 进程调度算法 1.先来先服务FCFS(先进先出调度算法,FIFO) 【算法思想】:最简单的算法 按照进程进入就绪队列的先后次序,分派CPU; 当前进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。 在进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前进程让出CPU。 【特点】: 比较有利于长作业,而不利于短作业。 有利于CPU繁忙的作业,而不利于I/O繁忙的作业。 先来先服务算法的实现过程如图4-6所示。 设置信号量:就绪队列互斥信号量s,初值为1; 就绪队列中进程个数n,初值为0。 2.短进程优先调度算法(SJF,SPF) 【算法思想】:选择就绪队列中估计运行时间最短的进程投入运行。通常后来的短作业不抢先正在执行的作业。 【优点】: 比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间; 提高系统的吞吐量; 【缺点】: 对长作业非常不利,可能长时间得不到执行; 未能依据作业的紧迫程度来划分执行的优先级; 难以准确估计作业(进程)的执行时间,从而影响调度性能。 3.优先级调度算法(HPF—Highest Priority First) 【算法思想】:优先选择就绪队列中优先级最高的进程投入运行。分为: 非抢占式优先级算法:仅发生在进程放弃CPU。 抢占式优先级算法:可剥夺当前运行进程CPU。 【 优先权的类型】 静态优先级:在进程创建时指定优先级, 在进程运行时优先数不变。 动态优先级:在进程创建时创立一个优先级,但在其生命周期内优先数可以动态变化。如等待时间长优先数可改变。 【确定优先级的依据】 进程类型、对资源的需求、根据用户要求。 例如:在UNIX 中,进程优先数的计算公式可表示为: 优先数=(最近使用CPU的时间)+基本用户优先数 2 优先数=min{127,(p_cpu/16+PUSER+p_nice)} 其中:PUSER
文档评论(0)