UCOS-II VS FreeRTOS VS CoOS VS RTX (转)
转一篇网友分析测量的 ucos-ii freertos coos 和 rtx 的性能对比表:原帖在:http://dan-de-li-on.blogspot.com/2013/11/ucos-ii-vs-freertos-vs-coos-vs-rtx.html
比较结果:
RTX_4.7 (uS) RTX_4.1.2 (uS) FreeRTOS (uS) UCOS-II (uS) CoOS (uS)
Task switch Time(User API) 7.91 27.41 12.25 11.83
Task switch Time(Non API) 8.67 7.5 23.83 11.58 11.16
Interrupt Response Time(Non API) 1.83 1.91 1.83 3.16 1.91
原帖还有一些测量波形图.
看来从性能来讲完全为 Cortex-M 定制的 rtx 最好,其次是 coos.
不过从使用方便和支持来说就不一定了. 用起来没有感觉呀。 谢谢分享不过觉得 如果涉及对时间要求非常苛刻的场合一般也不会上os吧 还有其他呢,例如RTT UCOSIII,等等 我支持f re er t 妹的,又是ucos2被欺负,怎么不上ucos3比 很好,最喜欢这类的比较了 操作系统最主要的是什么???
我觉得操作系统最主要的是稳定性,没有稳定性有啥用,这类比较我觉得只能做参考。还是测试操作系统的稳定性比较好 不用看了,种测试方法比较片面,不具说服力,特别是对Freertos,是非常不公平的, trey21ic 发表于 2015-7-12 15:02
不用看了,种测试方法比较片面,不具说服力,特别是对Freertos,是非常不公平的, ...
记得FREERTOS 内部的进程数据结构是链表结构的,切换时,需遍历链表, 任务切换时间长点,可以理解。
USOS 是直接查找表,应该快 是链表不错,但一般情况下是不需要遍历的,只是有一点区别是ucos的切换时间是固定的常数,而Freertos的切换时间不是固定的。
还有就是延时阻塞方面,Freertos是按时间长短是需要排序的这部分是在内核后台处理,而ucos 任务阻塞延时是不需要排序的,但需要在定时中断遍历处理所有任务延时阻塞。
最后是freertos还有许多设计理念都非常让使用者用起来很方便,简单,完善。 Cortex-M 定制的 rtx 最好,其次是 coos. trey21ic 发表于 2015-7-12 18:36
是链表不错,但一般情况下是不需要遍历的,只是有一点区别是ucos的切换时间是固定的常数,而Freertos的切换 ...
我是新手,还在了解当中。请问什么情况下需要上OS,用freeRTOS除了开源还有什么优点呢?谢谢! 以下是我个愚见,欢迎指正!
1、如果实现的功能较复杂,用前后台方式实现时,比较耗时或难以实现时,可以考虑用OS。
2、对实时性或并发性要求较高时,可以考虑用OS。
3、CPU资源充足时,我一般都都会考虑用OS。(一般的单片机建议还是不要跑OS了,可以用状态机,事件触发等机制)
实际上当用了一段时间的OS后,一般情况下都不想再回到前后台系统编程了。
关于FREERTOS我个人认为应用比较简单,基本上都能满足平时的开发要求。其次好多人都反映FREERTOS的中文资料不够多,我倒时建议看官方网站上的资料就足够了,写得非常的详细。
其实大多的RTOS原理都是大同小异,只是实现上各自的理念和着重点不一样。熟悉一个RTOS后,其它的也很容易上手。
与ucosIII比较怎样? RTX和ucos2都用过,,感觉都差不多,,,但是rtx内嵌了tcp/ip协议,,,很好,,,{:lol:} zhangpisces 发表于 2015-8-30 11:41
RTX和ucos2都用过,,感觉都差不多,,,但是rtx内嵌了tcp/ip协议,,,很好,,, ...
不是内嵌,现在的rtos基本都只提供内核功能,所有协议栈都是独立的。。。rtx的tcpip协议栈也是一样的 myxiaonia 发表于 2015-8-30 13:10
不是内嵌,现在的rtos基本都只提供内核功能,所有协议栈都是独立的。。。rtx的tcpip协议栈也是一样的 ...
恩恩 对头不是内嵌是提供了协议栈,,,{:lol:}
页:
[1]