os_第3章处理机调度的和死锁.ppt

  1. 1、本文档共155页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
死锁:各并发进程因为竞争资源,造成处于无休止的等待状态,在无外力作用的情况下,这些进程永远也不能继续前进。 产生死锁的原因: 系统资源不足; 1)进程推进顺序非法;2)资源的分配策略不当 。 产生死锁的必要条件: 1)互斥条件。 2)不剥夺条件。 3)占有且等待条件。 4)环路条件。 * 四、进程调度方式 1. 非抢先调度方式 这种方式是当有重要或紧迫的进程进入就绪队列时,仍然让正在执行的进程继续执行,直到该进程完成任务终止运行或发生某种等待事件而进入阻塞状态时,才主动放弃占有的处理机,把处理机分配给重要或紧迫的就绪进程,以使其运行。 2. 可抢先调度方式 这种方式则是重要或紧迫的进程一到,便把正在执行的进程占有的处理机强行剥夺下来,并转给这个优先级比它更高的重要或紧迫的就绪进程,使其运行。 五、进程调度算法 采用最高优先级优先调度算法时,系统对每个进程确定一个优先数,进程的优先数用于表示进程的重要性及运行的优先性。调度时,系统把处理机分配给优先级最高的就绪进程。如果就绪进程具有相同的优先数,则再按先来先服务的次序分配处理机。 先来先服务调度算法是按照进程进入就绪队列的先后次序来选择进程分配处理机。 (一)最高优先级优先调度算法 系统确定优先数的方法: 1.静态优先数法:静态优先数是在创建进程时系统为其确定的,并且在进程的生命期内不再改变。 确定静态优先数的原则: 1)按进程类型。系统进程的优先级高于用户进程的优先级。 2)按进程使用的资源。进程所使用的资源越多,进程的优先级越低;反之,则进程的优先级越高。 3)按进程的估计运行时间。进程的估计运行时间越长,进程的优先级越低;反之,则进程的优先级越高。 4)由用户指定。有些系统可以按收费标准不同,设置不同的优先级别,可以由用户指定。 静态优先级法实现起来比较简单,但不能反映系统以及进程在运行过程中的动态变化情况,系统管理效果显然不佳。 2. 动态优先数法。动态优先数是指在系统创建进程时,根据系统资源的使用情况和进程的当前特点确定一个优先数,然后,在进程运行过程中再根据情况的变化动态调整进程的优先数。 调整进程优先数的原则: 1)进程占有处理机的时间越长,则进程的优先级越低;进程的等待时间越长,则进程的优先级越高。 2)根据进程所执行的程序的轻重缓急程度,调整进程的优先数。 (二)时间片轮转调度算法 在分时系统中,为了满足系统对响应时间的要求,通常采用时间片轮转调度算法。 1. 简单轮转法(固定时间片轮转法) 在这种调度算法中,系统把所有就绪进程按到达的先后顺序形成一个就绪队列,就绪队列中的所有进程按时间片依次轮流获得处理机。 时间片的大小应根据进程要求系统给出应答的时间和进入系统的进程数来决定。可以表示为: 其中,q是时间片的大小,T是系统的响应时间,N是进入系统的进程数。 简单轮转法的优点是简单、方便,但由于采用固定时间片的方式,调度欠灵活,服务质量不够理想。可以通过以下两个方面加以改进: 1)将固定时间片方式改为可变时间片方式; 2)将单就绪队列改为多就绪队列。 2. 可变时间片轮转法 时间片可变会给系统带来好处。如果要求系统快速应答,则时间片小一些,这样可使轮转一遍的总时间减少而可对进程尽快应答。如果进程数少,则时间片可以大一些,这样可减少进程调度的次数,提高系统效率。 可变时间片轮转法中,可采取如下措施调整时间片: 1) 固定周期轮转法。 在这种方法中,每一轮调度中所得的时间片q'值的大小仅在这一轮调度中有效。系统的响应时间T固定,在每一轮调度中,根据当前就绪队列中的进程数n计算这一轮调度的时间片:q'=T/ n , 然后进行轮转,每个进程可获得这一轮的一个时间片q'。在此期间所到达的进程暂不进入就绪队列,等此次轮转完毕再一并进入。系统根据此时就绪队列的进程数重新计算时间片q',然后开始下一轮循环。 2) 时间片的大小取决于优先级的高低,优先级高的进程分得的时间片较大,优先级低的进程分得的时间片较小。 3) 短作业的时间片较小,长作业的时间片较大。 3.多级反馈轮转法(多重时间片轮转调度算法) 调度算法的实施过程如下: 1. 设置多个就绪队列,并为各个就绪队列赋予不同的优先级。第一个就绪队列的优先级最高,第二个就绪队列的优先级次之,其余各个就绪队列的优先级逐个降低。 2.赋予各个就绪队列中进程的时间片也各不相同,优先级越高的就绪队列中的进程的时间片越小,反之,优先级越低的就绪队列中的进程的时间片越大。 3.当一个新被创建的进程进入就绪队列后,首先将它加入第一个就绪队列的队尾,按先来先服务的原则排队等待调度。 当轮

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档