找回密码
 立即注册

QQ登录

只需一步,快速开始

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

刚接触ucos,有点初步想法不知道合不合适,望大家指点

[复制链接]
跳转到指定楼层
楼主
ID:392682 发表于 2018-9-8 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qinshuai 于 2018-9-8 15:42 编辑

ouos是基于任务优先级与中断的抢占式实时内核,可以保证系统的实时性。
ucos-2同一个优先级只能分配给一个任务,并不能实现多任务的并行处理,cpu同时只在一个任务里跑。有点类似于裸机上的中断嵌套方式。
感觉有ucos-2的就是把裸机程序上面比较复杂绕人的函数之间有条件的调用,使用,的过程给集合封装起来,成为一个操做系统,使得你自己写的程序看起来更清晰,写起来方便一些。
ucos-3支持多个任务处于同一优先级,用时间片轮转的方法,实现了多任务的并行处理

这两天刚接触ucos,头疼,产生了这点认识,但是苦于不知认识的是否合理,头疼,
希望各位前辈指点迷津。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:386367 发表于 2018-9-8 23:21 | 只看该作者
本人没接触ucos,但接触过ftreeRTOS,POSIX。
所谓的RTOS,万变不离其中,要实现都是任务调度。
确保重要任务得到第一时间的处理。

一有多任务的时候,就一定需要任务彼此间的同步,沟通,所以要有相关函数去处理,如message queue,semaphore,mutex等等。

有一个概念你需要重新理解。

所谓的并行处理,是说同一时间,同时执行。
按照这个定义,现在的mcu,严格来说都不能做到并行处理的。
而所有的rtos做的是都是用时间片轮转的方法,去模拟多任务并行处理

所以ucos-2都可以实现多任务调度,只不过是不能在同一优先级执行多个任务,而ucos-3是可以的
例如,在某一段时间,一个优先级为1的A任务在执行中,此时优先级为1的B任务想要执行
ucos-2就会说:B任务,你不能执行,你要先等A完成。
ucos-3就会说:OK,B任务你来吧,跟A一起共用执行时间。

评分

参与人数 1黑币 +80 收起 理由
admin + 80 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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