- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 进程调度算法 3.3 实时调度 3.4 产生死锁的原因和必要条件 3.5 预防死锁的方法和死锁避免 3.6 死锁的检测和解除 3.1 处理机调度的基本概念 在多道程环境下,进程数目往往多于处理机数目,致使它们争用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由进程调度程序完成的。它是操作系统设计的中心问题之一。 进程调度要解决的问题 WHAT:按什么原则分配CPU —进程调度算法 WHEN:何时分配CPU —进程调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换) 1. 高级、中级和低级调度 处理机是计算机系统中的重要资源 处理机调度算法对整个计算机系统的综合性能指标有重要影响 可把处理机调度分成三个层次: 高级调度 中级调度 低级调度 高级调度也称为作业调度或宏观调度 高级调度的时间尺度通常是分钟、小时或天 中级调度涉及进程在内外存间的交换,从存储器资源管理的角度来看,把进程的部分或全部换出到外存上,可为当前运行进程的执行提供所需内存空间,将当前进程所需部分换入到内存。指令和数据必须在内存里才能被处理机直接访问 低级调度也称微观调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态,低级调度的时间尺度通常是毫秒级的。由于低级调度算法的频繁使用,要求在实现时做到高效 2.进程调度的任务 进程调度的任务是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程 进程调度任务 进程调度负责动态地将CPU分配给各个进程。主要功能是: (1)记住进程的状态。当前运行的进程在调用进程调度程序时,进程调度程序将该进程的现场信息,如程序计数器及通用寄存器的内容等保留在该进程的进程控制块PCB的现场信息区内; (2)决定哪个进程,什么时候获得CPU以及占用多长时间; (3)把CPU分配给进程。即将选中进程的PCB内有关现场的信息,如程序状态寄存器、通用寄存器等内容送入CPU的相应的寄存器中,从而让该进程占用CPU去运行; (4)收回CPU。将CPU有关寄存器内容送入该进程的进程控制块PCB内的相应单元中,然后将此进程链入相应的管理队列(等待或就绪),从而使该进程让出它所占用的CPU。 那么在什么时候进入进程调度为最好?一般认为,只要现行进程不再能继续运行,或者有理由认为可以更好地将CPU使用在别的方面,那么就启动进程调度程序。下面列举启动进程调度程序的各种时机。 (1)在一次外部中断之后,该中断改变了某个进程的状态。因而使某个进程有可能抢占CPU。 (2)在一次系统调用之后,而该调用使现行进程暂时不能继续运行。这样就需要再次挑选出一进程,将CPU分配给它。 (3)在一次出错处理之后,使现行进程在出错处理时被封锁。 ? 进程调度程序在被执行时,首先检查现行进程是否仍然是最适宜于在CPU上运行的进程。如果是,则恢复由中断硬件保护起来的程序计数器值,并将控制返回到断点;否则将现行进程的现场保护进它本身的进程控制块PCB中,然后将最适宜于运行的进程去占用CPU,并将该进程的有关信息送入相应的寄存器中,再将控制转向该进程,使之占用CPU运行。 3.确定算法的原则 具有公平性 资源利用率高(特别是CPU利用率) 在交互式系统情况下要追求响应时间(越短越好) 在批处理系统情况下要追求系统吞吐量 4.进程调度方式 非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。 剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。 5.进程调度性能衡量的指标 周转时间 响应时间 CPU-I/O执行期 6.进程调度模型 1)只有进程调度的调度队列模型 2)具有高低级调度的调度队列模型 3)具有三级调度的调度队列模型 7.选择进程调度方式的准则 面向用户的准则:周转时间短;响应时间快;截止时间的保证;优先权准则 面向系统的准则:系统吞吐量高;处理机利用率好;各类资源的平衡利用 3.2 进程调度算法 先进先出(FIFO)算法 最短CPU运行期优先调度算法 最高优先权优先调度算法 轮转法 多级反馈队列 1.先进先出(FIFO)算法 该算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便执行下
文档评论(0)