你了解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