UCOS应用 | 任务的基本知识


前言

UCOS是非常经典的一个实时操作系统,关于UCOSII和UCOSIII有一些不同,但是整体思想是一致的。本文就不过多介绍UCOS,直入主题了。

任务至少需要什么

  • 任务函数:实现功能
  • 任务堆栈:CPU的快照,在任务切换时保存或恢复现场
  • 任务控制块:任务的动态档案,一般由操作系统管理

任务的特性

独立性

​ 各个任务都是不可见对方的,如果需要信息传输只能进行异步通信,由第三者(信号量、邮箱、消息队列等)代劳。

并发性

​ 宏观上可一起执行,微观上则是利用各个任务执行的间隙时间,交叉执行。同时实时的嵌入式操作系统是可剥夺型的任务调度。

动态性

​ 任务并不是随时都可以运行的,一个已经开始运行的任务并不能一直占有CPU,它随时可能被更高级的任务剥夺去CPU的使用权。

任务划分

​ 合理的任务划分是软件设计质量的关键。

设备依赖任务的划分:以CPU为中心,将各种不输入/输出设备相关的功能划分为独立的任务。

关键任务划分:必须保证关键任务的执行,不能被遗漏一次,不能被其他任务拖累,可以放在中断或者独立为高优先级任务,通过“第三者”传输信息,触发其他任务。

紧迫任务:必须在规定时间内完成,可以遗漏一两次,可设计在中断中或者单独的高优先级任务。

数据处理任务:可单独划分出来,设置较低优先级

功能聚合:如果功能相似,可设计为一个任务,减少异步通信,减少系统消耗

触发条件相同任务:由相同时间触发的若干功能组合为一个任务,免除事件分发机制

运行周期相同任务:运行周期相同的功能组合到一个任务,免除时间事件分发机制。

顺序执行功能:顺序执行的功能组合为一个任务,免除同步接力通信的麻烦。

任务可调度性分析(速率单调分析RMA)

应该要满足测量公式。

image-20210427112812456


总结

本文内容从《嵌入式实时操作系统程序设计》一书总结而来,这本书非常长棒,收获颇丰。本文主要介绍了任务的一些基本知识,是后续学习的一个基础。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值