你了解RTOS吗?

【楔子】

早上遇到一个Tizen RT的问题;一开始也觉得RT stands for "RealTime"。然,又觉得Tizen本身就是RTOS,再加上一个RT有些多余。

遂搜了下,发现有一不太靠谱的IT新闻媒体报道中,把Tizen RT当作是下一代支持IoT的Tizen系统。“Samsung have announced their platform for IoT will be named Tizen RT.”

紧接着又被告知Tizen RT使用的是nuttx,顿时脑袋短路了。

为自己的无知感到可怕,遂有此笔记。

【EOS VS RTOS】

EOS (Embedded OS),负责嵌入式系统的全部软硬件资源的分配、电镀、控制、协调并发活动。
特点:
1. 可装卸性:开发,可伸缩的体系结构;
2. 强实时性
3. 统一借口:设备驱动接口
4. 操作方便,简单;友好的GUI;
5. 提供强大的网络功能;
6. 强稳定性,弱交互性;
7. 固话代码;
8. 更好的硬件适应性,即可移植性

RTOS (Real Time OS)
常见的RTOS:
RT-Linux, QNX, Vxworks, Nucleus,
RTOS追求的是实时性,可确定性,可靠性;需要更强的任务调度机制;

如果下面有超过 2 个问题回答是的朋友们注意了,您很可能需要 RTOS 进行您系统的开发。如果超过 4 个问题回答是的朋友,您必须使用 RTOS 了。

1.系统对一些事件的响应延迟时间有要求吗?该时限在微秒级。
2.系统对一些事件的处理有时限要求? 该时限接近 CPU 全速处理该事件一次需要的时间,相差不过毫秒级别。
3.系统中这些事件的处理代码复杂吗(平均每个事件的处理代码不超过100行标准C代码,无函数调用)?这种事件超过5个以上?
4.系统有RAM、ROM的限制,使得大多数操作系统如 Linux、uClinux、WinCE 无法正常工作吗?
5.系统有一定的规模,超过 2W 行标准C/C++代码吗?系统中有多个逻辑事务,逻辑事务之间有同步或数据交换吗?
6.产品或系统生命周期长,有后续升级、发展的要求吗?
7.团队对选择的 RTOS 了解吗?有 RTOS 实施方面的专家吗?

 

真正的实时操作系统内核是可中断可抢占的。而非实时的操作系统通常在执行内核功能时是不可中断的。
Windows的内核是不可抢占的,所以它不是实时操作系统。Linux是软实时的,内核中仍然有大量不可抢占区域。

更多详细的 分时 vs. 实时 OS,请参考: http://blog.csdn.net/deyili/article/details/6422440

【Refer】

1. 四种常见的RTOS:
http://wenku.baidu.com/link?url=IINlQvdCAQurlZgTVTG460Pw94JF1N9s6pi740mp_ERq3gEi9wOp8R3uEBF_yfd9JwKx0Es7WwvGLfPkhZZK2bZszjHoyEzfhlSDUUcPMAO
2. 如何选择RTOS:
http://blog.csdn.net/coolbacon/article/details/6398170

3. http://blog.csdn.net/deyili/article/details/6422440

posted @ 2016-11-30 14:19  Bouygues  阅读(1311)  评论(0编辑  收藏  举报