The IoT and the RTOS
台灣區電信工程工業同業公會 |
來源:物联网智库
物聯網操作系統,是指以操作系統內核(可以是 RTOS、Linux 等)為基礎,包括如文件系統、圖形庫等較為完整的中間件組件,具備低功耗、安全、通信協議支援,和雲端連接能力的軟體平台。
今天小編就向大家詳細的介紹幾款,市面上的物聯網操作系統。
1. FreeRTOS
創始人Richard Barry,誕生於2003年,完全開源、免費,輕量級嵌入式即時操作系統。C語言和匯編來寫的,其中絕大部分都是用 C語言編寫的,只有極少數的與處理器密切相關的部分代碼,才是用匯編寫的。
主要功能:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟體定時器、協程等,可基本滿足較小系統的需要。
主要特點:源碼公開、可移植、可裁剪、調度策略靈活,可以方便移植到各種 Stand Alone 單機上運行。CPU總是讓處於就緒態的、優先級最高的任務先運行。
2. RT-thread
是一款主要由對岸中國開源社區主導開發的,嵌入式開源即時多線程操作系統,在2006年就開始啓動併發布了0.1.0內核版本,主要採用 C 語言編寫,內核及所有開源組件,可以免費在商業產品中使用,沒有潛在商業風險。
主要功能:支援多任務以及所有主流微控制器,設備端和雲端一體化設計,針對不同應用場景,採用自動功耗控制策略。毫秒級啓動時間,層次化的系統安全架構,提供各類安全機制,保障應用和系統安全。整合音訊,圖像相關的各類算法和智慧引擎。
主要特點:體積小,成本低,功耗低、啓動快速,即時性高、佔用資源小等特點,非常適用於各種資源受限(如成本、功耗限制等)的場合。
3. Mbed OS
開源嵌入式操作系統,ARM公司將 Mbed OS免費提供給所有廠商使用,Mbed提供了一個相對更加系統和更加全面的智能硬體開發環境。
主要功能:提供用於開發物聯網設備的通用操作系統基礎,以解決嵌入式設計的碎片化問題。支援所有重要的連接性與設備管理開放標準,以實現面向未來的設計。使安全可升級的邊緣設備,支援新增處理能力與功能。透過自動電源管理解決複雜的能耗問題。
主要特點:開發速度快,功能強大,安全性高,為了量產化而設計,可離線開發,也可以在網頁上編輯。
4. AliOS-Things
阿里研發,面向IoT領域的輕量級物聯網嵌入式操作系統。基於Linux平台,提供MCU虛擬化環境。
主要功能:微內核架構,內核資源佔用(ROM<2kb ldle="" span="" task="">;提供場景引擎和低功耗框架;產品級TCP/UDP/IPv6/IPv4支持;MQTT、CoAP、WSF支持;WiFi、藍牙、LoRA、NB-IoT。支援阿里巴巴自研的 uMesh 技術,支持物聯網設備自動建立通信網路。2kb>
主要特點:提供系統和晶片級別安全保護,支持 C/Java Script 語言開發,提供 IDE,支持代碼編輯,編譯、調試、內存洩露檢測等。支持 APP 獨立升級,支持多 Bin 或差分升級。支持組件式開發。利用 ALIOS Cube 工具可以靈活組合 IOT 產品軟體棧。
5. Lite OS
華為面向物聯網領域自主開發的,一個基於即時內核開源的輕量級操作系統。2015年華為發佈「1+2+1」的物聯網策略,Huawei Lite OS作為策略的重要組成部分。體積只有10KB級、開源的、可幫助小型設備處理資訊的操作系統。支援華為海思 CPU,不承諾保證能無縫支援其它廠商的 CPU,也不提供其它 CPU 適配時的技術支援。
主要功能:支援任務調度,內存管理,中斷機制,隊列管理,事件管理,IPC機制,時間管理,軟定時器以及雙向鏈表等常用數據結構。
主要特點:具備零配置、自組網、跨平台的能力,具有能耗最低,體積最小、響應最快的特點。
6. RTX
是ARM公司的一款嵌入式即時操作系統,使用標準的 C結構編寫,運用RealView編譯器進行編譯。不僅僅是一個即時內核,還具備豐富的中間層組件,不但免費,而且代碼也是開放的。
主要功能:開始和停止任務(進程),除此之外還支援進程通信,例如任務的同步、共享資源(外設或內存)的管理、任務之間消息的傳遞。開發者可以使用基本函數,去開啓即時運行器,去開始和終結任務,以及去傳遞任務間的控制(輪轉調度)。開發者可以賦予任務優先級。
主要特點:支援時間片,搶佔式和合作式調度。不限制數量的任務,每個任務都具有254的優先級。不限制數量的信號量,互斥信號量,消息郵箱和軟定時器。支持多線程和線程安全操作。使用MDK基於對話框的配置嚮導,可以很方便的完成MDK的配置。
7. VxWorks
美國 Wind River 公司於 1983 年設計開發的一種嵌入式即時操作系統(RTOS),
具有硬即時、確定性與穩定性,也具備航空與國防、工業、醫療、汽車、消的、費電子產品、網路,及其他行業要求的可伸縮性與安全性。
主要功能:支援可預測的任務同步機制、支援多任務間的通信、儲存器優化管理、操作系統的(中斷延遲、任務切換、驅動程序延遲等)行為,是可知的和可預測的。即時時鐘服務+中斷管理服務。
主要特點:具有一個高性能的操作系統內核Wind(即時性好、可裁減)友好的開發調試環境、較好的相容性、支持多種開發和運行環境
8. QNX
誕生於1980年,是一種商用的遵從POSIX規範的,類Unix嵌入式即時操作系統,是由加拿大QSSL公司開發的分布式即時操作系統。
主要功能:支援在同一台電腦上,同時調度執行多個任務;也可以讓多個用戶共享一台電腦,這些用戶可以透過多個終端向系統提交任務,與QNX進行交互操作。
主要特點:核心僅提供4種服務:進程調度、進程間通信、底層網路通信和中斷處理,其進程在獨立的地址空間運行。所有其它OS服務,都實現為協作的用戶進程,因此QNX核心非常小巧(QNX4.x大約為12Kb)而且運行速度極快。
9. NuttX
NuttX是一個即時嵌入式操作系統(Embedded RTOS),第一個版本由 Gregory Nutt 於 2007 年在寬鬆的 BSD 許可證下發佈。
主要功能:可以構建為開放的、平面的嵌入式 RTOS,或單獨構建為具有系統調用接口的微內核。容易擴展到新的處理器架構、 SoC 架構或板級架構。即時的、確定性的、支持優先級繼承。BSD 套接字接口。優先級管理的擴展。可選的具有地址環境的任務(進程)。
主要特點:配置靈活,採用模塊化設計,核心部分由小同的組件構成,包括內核、C語言庫和底層運行包等。每個組件可提供大量的配置選項(即時內核也可作為可選配置),使用eCos提供的配置工具,可以很方便地配置,並透過不同的配置使得eCos,能夠滿足不同的嵌入式應用要求。
10. NECRO
這是對岸中國的國訊芯微歷經十年研發並問世,嵌入式即時操作系統,開發語言為C/C++。與一般範用邊緣操作系統不同之處在於,從誕生之初就深耕工業網路、智慧製造行業。
可滿足工業現場OT數據的融合,及深度建模需求,確保工業控制的時間片精度,提升工廠良品率。
基於企業級數據服務總線,建立應用伺服器,提供通用基礎服務,為各領域的行業應用提供開發支撐。
以WEB方式提供操作系統的用戶介面,屏蔽繁瑣的linux配置。
價格方面,相較於幾萬、幾十萬美金授權費的VxWorks、QNX,其只需幾百人民幣。(所以就更該特別小心嘍!!!)
主要功能:分布式應用支撐平台、協議解析/轉換、數據處理、數據儲存/訪問、數據可視化、後台腳本、系統建模等功能。
主要特點:採用單晶片多內核的機制,可以同時滿足工業即時和非即時應用。其中軟即時任務運行於宏內核、硬即時人物運行於微內核。
自研的調度分配算法,確保內存和CPU_CORE的資源,可以優先完成即時任務。
支持ARM X86 PowerPC等多核MPU、並支撐FPGA GPU TPU NPU等加速AI算法引擎。支持數百種通信協議、加入深度學習功能、採用主流加密算法,確保數據安全。
0 comments:
張貼留言