(ppt)第3章处理机调度与死锁.ppt

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(ppt)第3章处理机调度与死锁

此调度方式的优点是实现简单、系统开销小,适用于大多数的批处理系统环境。但它难以满足紧急任务的要求——立即执行,因而可能造成难以预料的后果。显然,在要求比较严格的实时系统中,不宜采用这种调度方式。 (2) 该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理。 (3) 由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。 例题: 在单道批处理系统中,有四个作业进入系统,进入时间及所需计算时间如下表所示。现忽略作业调度所花时间。当第一个作业进入系统后就可开始调度。 (1)将分别采用“短作业优先”和“响应比最高者优先”调度算法时,各个作业的开始时间,完成时间,周转时间分别填入下面的表中。 (2)采用“短作业优先”调度算法时,平均周转时间为 1.55 。 采用“响应比最高者优先”调度算法时,平均周转时间为 1.625 。 先来先服务调度算法计算结果 最短作业优先作业算法计算结果 最高响应比优先作业算法计算结果 显然,这种抢占式的优先权调度算法,能更好地满足紧迫作业的要求,故而常用于要求比较严格的实时系统中, 以及对性能要求较高的批处理和分时系统中。 若所有的就绪进程具有各不相同的优先权初值,那么,对于优先权初值低的进程,在等待了足够的时间后,其优先权便可能升为最高,从而可以获得处理机。当采用抢占式优先权调度算法时,如果再规定当前进程的优先权以速率b下降,则可防止一个长作业长期地垄断处理机。 在实现该算法时要求系统中有一个按松弛度排序的实时任务就绪队列,松弛度最低的任务排在队列最前面,调度程序总是选择就绪队列中的队首任务执行。该算法主要用于可抢占调度方式中。假如在一个实时系统中,有两个周期性实时任务A和B,任务A要求每 20 ms执行一次,执行时间为 10 ms;任务B只要求每50 ms执行一次,执行时间为 25 ms。 竞争资源引起死锁 资源合理分配可以避免死锁 (4) 如果所有进程的Finish[i]=true都满足, 则表示系统处于安全状态;否则,系统处于不安全状态。 进程资源图的化简方法(补充) 1。从某个最简单进程结点着手。 2。若进程上有请求边,若所要求资源富余即改画为分配边,等于分配资源。 3。若该进程结点上只有分配边时,将其上的所有分配边擦去。(等于运行完毕释放资源) 4。在其它结点重复2,3,如果能消除所有请求边和分配边,使之成为孤立的结点,说明各进程运行完毕,系统安全无死锁。 5。如果不能化简为孤立结点,则系统处于不安全状态。 3. 专用处理器分配(Dedicated Processor Assigement)方式 图 3-11 线程数对加速比的影响 3.5 产生死锁的原因和必要条件(知识要点) 3.5.1 产生死锁的原因 竞争资源。 (2) 进程间推进顺序非法。 (3) 进程在使用临界资源 上时间冲突 操作系统的死锁是一个重点课题 1. 死锁的定义 2. 死锁与死机区别 (临界资源使用冲突,资源枯竭) 3. 为什么研究死锁? 4. 常用措施和技术. 1. 竞争资源引起进程死锁 可剥夺和非剥夺性资源 2) 竞争非剥夺性资源 (不能立即切换和易主) 3) 竞争临时性资源 (未捕捉到激励信息) 竞争和使用资源时发生的错误和冲突 图 3-12 I/O设备共享时的死锁情况 资源追逐,各不相让 占有并等待 图 3-13 进程之间通信时的死锁 2. 进程推进顺序不当引起死锁 1) 进程推进顺序合法 图 3-14 进程推进顺序对死锁的影响 2) 进程推进顺序非法 若并发进程P1和P2按曲线④所示的顺序推进,它们将进入不安全区D内。此时P1保持了资源R1, P2保持了资源R2, 系统处于不安全状态。因为,这时两进程再向前推进,便可能发生死锁。例如,当P1运行到P1:Request(R2)时,将因R2已被P2占用而阻塞;当P2运行到P2: Request(R1)时,也将因R1已被P1占用而阻塞,于是发生了进程死锁。 进程运行时间上错误(不该在此时) 3.5.2 产生死锁的必要条件 互斥条件 (2) 请求和保持条件(占有并等待) (3) 不剥夺条件 (4) 环路等待条件 1。必要条件(缺一不可) 2。必须同时成立或存在 3.5.3 处理死锁的基本方法 预防死锁 (2) 避免死锁 (3) 检测死锁 (4) 解除死锁 最好是预防,逐个降格 鸵鸟策略(消极策略) (2) 预防策略。 (3) 避免策略。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档