找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2562|回复: 0
打印 上一主题 下一主题
收起左侧

任务划分

[复制链接]
跳转到指定楼层
楼主
ID:60266 发表于 2014-8-19 22:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                        1.任务划分目标:
  • 实时性
  • 任务数目合理 :多 任务设计简单 os通信多,运行效率下降。少 任务实现功能复杂 os通信少 减轻os负担。
  • 简化软件系统。 降低对os服务的要求减少软件代码。
  • 降低系统资源需求。
2.任务划分方法
  • 输入输出设备与cpu速度差别是并发运行前提和基础,也是一个通常都满足的事实。
  • 关键任务的划分:关键性是指某种功能很重要,如果功能不能正常实现,则将造成重大影响,甚至引发灾难后果,必须执行,一次也不能漏。
  • ISR不受os的调度,具有超优先级。应尽量简短,提高实时性。通过消息分发功能OSMboxPostOpt()的广播功能,使所有等待该任务的消息进入就绪状态。
  • 关键任务剥离开来。如果实时性不高,优先级可以低。
  • 紧迫任务的划分:是指某种功能必须及时运行,按时完成。安排在ISR中完成。否则安排尽可能高的优先级。
  • 紧迫任务要按时完成,则要瘦身,剥离不紧迫的操作。紧迫任务不一定是关键任务,遗漏执行不会有严重后果。
  • 数据处理任务划分:耗时最多,优先级安排要低。
  • 功能聚合任务:关系密切若干功能组合为一个任务。关联紧密,时序关联。省去数据通信和同步通信。
  • 触发条件相同任务划分:若干功能由相同事件触发组合成一个任务。避免分发给多个任务。要求每个功能不能出现问题,否则后面的执行不了。
  • 外部条件触发的一般是关键和紧迫任务。内部事件触发的一般不是,一般是时间事件,或内部运行结果触发,或按时间周期触发任务运行。
  • 任务内部,各功能执行顺序安排:1.因果顺序。2.完全独立按实时性强弱安排。
  • 运行周期相同任务的划分:
  • 将周期相同的功能封装一个,省去多次触发和任务之间通信。
  • 顺序操作任务的划分
  • 若干功能按固定顺序,相互之间没有并发性,则将他们组合为一个任务。
任务划分小结:
  • 以cpu为中心,将与各种输入输出设备相关的功能分别划分为独立任务。
  • 关键功能,将最关键的部分剥离出来,用一个独立任务(或ISR)完成,剩余用另外一个任务实现,两者用通信机制沟通。
  • 紧迫功能,将最关键的部分剥离出来,用一个独立高优先级任务(或ISR)完成,剩余用另外一个任务实现,两者用通信机制沟通。
  • 又关键又紧迫的,按紧迫处理。
  • 消耗时间多的数据处理功能,为低优先级。
  • 关系密切的组合为一个任务,达到功能聚合。
  • 有相同事件触发的,组合一个。
  • 运行周期相同的组合一个。
  • 按固定顺序执行的组合一个,避免同步接力麻烦。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表