你了解RTOS吗?

【楔子】

早上遇到一个Tizen RT的问题;一开始也以为RT stands for "RealTime"。然,又以为Tizen自己就是RTOS,再加上一个RT有些多余。linux

遂搜了下,发现有一不太靠谱的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追求的是实时性,可肯定性,可靠性;须要更强的任务调度机制;

url

若是下面有超过 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 实施方面的专家吗?spa

 

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

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

【Refer】orm

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

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