嵌入式系统软件教程4.2(免费阅读).ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
时间片轮转调度 时间片轮转调度 round-robin scheduling 当两个或两个以上的任务具有同样的优先级,内核运行一个任务运行事先确定的一段时间,叫做时间额度(quantum),然后切换给另一个任务。 满足下列条件时,把CPU控制权交给下一个就绪任务 - 当前任务无事可作。 - 当前任务的时间片还没有用完任务就结束了。 - 当前任务的时间片用完了。 基于优先级调度 根据任务的优先级和状态决定任务的调度。 基于优先级抢占式调度。 基于优先级非抢占式调度。 任务优先级 静态优先级 - 任务在执行过程中优先级不改变,各个任务的优先级在编译时就确定了。 动态优先级 - 任务在执行过程中,优先级是可变的。 优先级反转 高优先级的任务在申请已经被低优先级任务占据的资源时,高优先级被迫进入等待态,如果有一个中优先级的任务一直在执行,则高优先级将无法执行。 优先级反转问题实例 优先级反转的解决方法 优先级继承 - 拥有资源的低优先级任务被高优先级抢占。 - 高优先级任务开始申请被低优先级占据的资源。 - 此时,拥有该资源的低优先级任务的优先级上升到高于高优先级的任务。 - 拥有资源的任务得到运行机会,就有机会尽快释放资源。 - 释放资源,该任务回到原来的优先级。 - 高优先级任务得到运行机会,占有资源。 信号量 信号量 semaphore - 控制共享资源的使用权 - 标志某个事件发生 - 使两个任务的行为同步 二进制信号量 - 信号只有两个值0和1 计数式信号量 - 信号有一个取值范围,例如0-255 信号量 信号量的操作 创建 Create - 初始化二进制或计数式信号量的信号值 等待 Wait - 如果信号量值非0,则得到信号,信号量值减1 给信号 Signal - 信号量值加1 二进制信号量 计数式信号量 死锁 死锁 dead lock - 指两个任务无限期地互相等待对方控制的资源。 防止死锁的方法 - 先得到全部的资源再做下一步工作。 - 所有任务用同样的顺序去申请多个资源。 - 释放资源时使用相反的顺序。 - 定义任务等待资源的时间,如果一段时间内没有等到资源就产生超时,化解死锁。 同步 利用信号量进行同步 * *

文档评论(0)

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

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

1亿VIP精品文档

相关文档