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

相關文章
相關標籤/搜索