处理机调度与死锁总结.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 处理机调度与死锁 五.进程调度的实现: 调度因素,算法,就绪队列的组织 1. 确定引起进程调度的因素 。执行完毕或因故不能继续运行 。 I/O 请求而暂停执行 。因原语操作而阻塞如: P、 BLOCK 、 WAKEUP 、 SUSPEND 等 。可剥夺方式中,进程进入就绪队列 。分时系统,时间片用完 2. 调度队列: 就绪队列 组成:树,链表~算法 3. 分派程序: CPU- 进程(选择进程为调度之功能) 保存现场(前 P ) 布置现场(新调 P ) 注意: 有些 OS 将 CPU 分派功能合并于调度程序中。 第三章 处理机调度与死锁 3.4 实 时 调 度 3.4.1 实现实时调度的基本条件 1. 提供必要的信息 (1) 就绪时间。 (2) 截止时间:开始、完成。 (3) 处理时间。 (4) 资源要求。 (5) 优先级:绝对,相对 。 第三章 处理机调度与死锁 2. 系统处理能力强 单机系统: eg. 周期 =50ms, 6 个时实任务,处理时间各为 10ms 多机系统: 第三章 处理机调度与死锁 3 、采用抢占式 调度机制 = 硬实时任务 4 、具有快速切换机制 对外部中断的快速响应能力 快速的任务分派能力 第三章 处理机调度与死锁 3.3.2 实时调度算法的分类 1. 非抢占式调度算法 (1) 非抢占式轮转调度算法:群控 (2) 非抢占式优先调度算法:较紧急 — 高优 2. 抢占式调度算法 (1) 基于时钟中断的抢占式优先权调度算法。 (2) 立即抢占的优先权调度算法。 第三章 处理机调度与死锁 ( a ) 非 抢 占轮 转 调 度 当 前 进程 实 时 进程 实 时 进程 请 求 调度 实 时 进程 枪 占 当前 进 程 , 并 立 即执 行 ( d ) 立 即 抢占 的 优 先权 调 度 调 度 时间 进 程 1 进 程 2 实 时 进程 要 求 调度 进 程 n 实 时 进程 调 度 实时 进 程 运行 ( b ) 非 抢 占优 先 权 调度 当 前 进程 实 时 进程 实 时 进程 请 求 调度 当 前 进程 运 行 完成 调 度 时间 当 前 进程 实 时 进程 请 求 调度 时 钟 中断 到 来 时 调 度 时间 ( c ) 基 于 时钟 中 断 抢占 的 优 先权 抢 占 调度 调 度 时间 实 时 进程 第三章 处理机调度与死锁 3.3.3 常用的几种实时调度算法 1. 最早截止时间优先即 EDF(Earliest Deadline First) 算法 (1) 非抢占调度方式 ---- 非周期实时任务 , 开始截止时间 1 3 4 2 开始截止时间 任务执行 任务到达 1 2 3 4 1 3 4 2 t 第三章 处理机调度与死锁 (2) 抢占调度方式 ---- 周期实时任务 , 完成截止时间 第三章 处理机调度与死锁 图 3-8 A 和 B 任务每次必须完成的时间 A 1 A 2 A 3 A 4 A 5 A 6 A 7 A 8 20 40 60 80 100 120 140 160 B 1 B 2 B 3 t 0 松弛度 = 必须完成时间 - 本身运行时间 - 当前时间 2. 最低松弛度优先算法 (LLF---- Least Laxity First) 完成截止时间 第三章 处理机调度与死锁 图 3-9 利用 ELLF 算法进行调度的情况 t 1 A 1 (10) 10 20 30 40 50 60 80 t 0 t 1 = 0 B 1 (20) t 2 t 3 70 A 2 (10) A 3 (10) A 4 (10) t 4 t 5 t 6 t 7 t 8 B 1 (5) B 2 (15) B 2 (10) 第三章 处理机调度与死锁 指多个进程在运行过程中因争夺资源而造成的 一种僵局(互阻 - 等待永不发生的事情)。 若无外力作用, 死 锁中的进程都无法向前推进 死 锁 第三章 处理机调度与死锁 产生 解决 预防 避免 解除 死锁 原因 必要条件 第三章 处理机调度与死锁 3.5 产生死锁的原因和必要条件 3.5.1 产生死锁的原因 (1) 竞争资源 (2) 进程间推进顺序非法 第三章 处理机调度与死锁 1. 竞争资源引起进程死锁 可剥夺 资源分类 非剥夺性资源  永久性资源 临时性资源 死锁 第三章 处理机调度与死锁 13:32 2. 进程推进顺序不当引起死锁 1) 进程推进顺序合法 2) 进程推进顺序非法 第三章 处理机调度与死锁 3.5.2 产生死锁的必要条件 (1) 互斥条件 (2) 请求和保持条件 (3) 不剥夺条件 (4) 环路等待条件 第三章 处理机调度与死锁 3.5.3 处理死锁的基本方法

文档评论(0)

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

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

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档