一般来说,ucos仅指一个实时内核,它可以选配uc/fs,uc/gui等组件等来搭建一个嵌入式系统,
ucos的代码是开放的,带并不意味着它是开源并且免费的,在商业产品中应用ucos内核及其组件是需要支付不少的费用的。
RT-Thread目前更多的是定位于一个面向微控制器的嵌入式系统平台,它不仅包括一个实时内核,而且也包括文件系统,网络协议栈,GUI组件,命令行shell等组件。
并且RT-Thread实时核心及其所有组件都是开源,免费的。
其他方面,RT-Thread和ucos在实时核心的性能指标上相差不大,这块网上能够搜索到详细的比较信息。
UCOS-II | RT-Thread | |
---|---|---|
任务/线程调度 | 256 个优先级;不允许有相同优先级任务;最大256个任务 | 最大优先级256/32/8可配置;允许存在相同优先级线程;线程数不限制;允许动态创建/删除线程 |
同步互斥机制 | semaphore,mutex,mailbox, message queue, event(mailbox只能存放1条消息) | semaphore, mutex,mailbox, essage queue,event(mailbox可存储多条消息) |
内存管理 | 固定大小内存块管理 | 固定分区内存管理;小内存系统动态内存管理/大内存系统SLAB内存管理 |
定时器 | 只能使用OSTimeDly进行时间间隔处理 | 挂接到OS定时器的硬定时器或软定时器 |
中断嵌套 | 允许 | 允许 |