當前位置:
首頁 > 最新 > 小型開源操作系統種類繁多,Zephyr針對資源受限設備開發脫穎而出

小型開源操作系統種類繁多,Zephyr針對資源受限設備開發脫穎而出

智能家居、可穿戴產品等小型物聯網設備在選擇操作系統的時候,往往面臨自身資源不足的困境,雖然已經有一些開源操作系統解決方案適用於這些資源受限的設備,但是要尋求最佳的選擇還需要深入研究。儘管有少數類似BSD(Berkeley Software Distribution)這樣的替代方案,但是Linux已經成為事實上的開源操作系統。針對最小內存的基於Linux的平台有各種選擇,如:Ubuntu Core/Snappy 和Things。

很多商業開源解決方案也適用於資源受限設備領域,但是他們都需要虛擬內存管理單元硬體。雖然這種硬體能夠在物聯網設備中找到,但是很多都利用了缺乏這種支持的微控制器。這些更小型的設備需要更緊湊的操作系統,可以利用幾KB的RAM和大約十幾KB的快閃記憶體。

現在,大多數緊湊型商業化實時操作系統都支持物聯網,也提供或者與雲服務合作提供物聯網組件。也有一大批開源解決方案適用於這一領域。然而,它們不像商業化替代方案通常會提供長期支持,這些開源方案的支持有所不同。所有這些方案都包括網路協議堆棧,及頂層物聯網協議支持。例如,許多項目可以在類似GitHub這樣的軟體資料庫上找到,包括:RIOT, TinyOS, 和Mantis OS。RK專門針對包含MicaZ Motes的FireFly感測網路平台。

物聯網操作系統的支持背景各有不同

很多其它操作系統都有一個公司作為項目的支持者,像Arm的Mbed是具有專有組件的開源/閉源混合方案;像Silicon Labs的Micrium μC/OS是開源的雙授權方案,但是如果要在產品中使用該操作系統,需要得到商業授權。

還有一些開源解決方案則具有公司背景或者組織背景,包括亞馬遜的 FreeRTOS、Zephyr OS、Apache Mynewt、Thingsquare Contiki和的LiteOS。這意味著這些操作系統會持續向前發展,然而獲得支持的程度可能會有很大不同。有些公司能為這些平台提供支持,如:的風河為Zephyr OS提供專業服務,這個操作系統最初就是基於風河的RocketOS進行開發的。

大多數開源平台採用更自由的BSD、MIT或者Apache授權。這些不需要公開源代碼,但是它們必須在使用的源代碼中包含版權聲明。

針對像ISO 26262, IEC 61508, ISO 62304, SIL3/SIL4 IEC 或者甚至DO-178B的需要認證的應用程序,對某些平台會產生一些問題。這就是為什麼商業RTOS經常成為平台的選擇,無論是選擇這些,或者是一個開發者可以獲得有償支持的開源平台。這些支持將包括長期的軟體維護,錯誤修復,以及問題出現後可以尋求幫助的地方。

有些公司在這些場景下選擇特殊的平台。來自Winttenstein的FresRTOS,其可兼容替代方案—SafeRTOS和OpenRTOS,它們基於相同的代碼庫,以實現兼容性。SafeRTOS已經被重寫並且滿足IEC61508安全標準的需求。OpenRTOS分享FreeRTOS內核代碼,兩者都有商業授權,並附帶保修。

開發者尋找操作系統解決方案的時候,也想查看內置支持操作系統的語言。像Java、Ada和等程序語言,它們具有內置的多任務和內存管理功能。它們通常能夠利用開源系統優勢去提供這些服務,或者開發者能使用包含這種支持的runtime。

Zephyr在資源受限設備應用中脫穎而出

Linux的成功很可能被複制到更緊湊的、面向物聯網的操作系統解決方案,它們具有企業贊助商,如Zephyr OS、FreeRTOS、Contiki和LiteOS。它們也更可能成為物聯網雲服務提供商的選擇。這些供應商可能需要支持寬泛的平台,但是往往不切實際。針對一個或者兩個往往足以創建一個穩定的開發社區。

以Zephyr為例,它由Linux基金會支持,專門針對資源受限的小型物聯網設備而推出,自推出以來,以開源性、靈活性和安全性受到物聯網設備開發工程師的關注。關於內核,其可以運行在內存8KB 到512KB的設備上,並且能夠針對特殊設備啟用或者禁用任何功能數量;關於代碼,Zephyr實際上沒有Linux的代碼,而是基於英特爾收購的風河Rocket物聯網OS技術進行構建的;關於架構,Zephyr操作系統儘可能支持更廣泛的架構,目前可以支持6種:x86架構、ARC架構、ARM架構、NIOS II 架構、RISC V架構和Xtensa架構。出於安全考慮,Zephyr操作系統可以集成第三方庫和嵌入式設備,這樣可以滿足設計者的定製化需求,系統更加靈活。

關於開源,Zephyr制定了代碼提交規則,已經吸引了眾多開發者一起貢獻內容。基於社區生態系統的平台優勢,Zephyr向開發者提供的是開源管理和授權模式。為了進行有序的管理,Zephyr設立了兩個級別的會員:鉑金會員和銀牌會員。鉑金會員有一個董事會席位,可以決定項目的總體方向,銀牌會員的代表是經過投票決定的,目標是保持其輕量級和靈活性,並利用開源開發的成熟方法。早期的會員包括英特爾公司、恩智浦半導體公司(已被高通收購)和美國Synopsys公司,後來又吸引了Linaro、Runtime.io和Nordic半導體的加入。

現在Zephyr已經更新到v1.10版本,從新版本開始,Zephyr項目已經遷移到CMake,這對於那些需要不同平台和不同開發環境的開發人員開說,Zephyr的易用性更強。這一更改保持了Kconfig原樣,並用相應的CMakeList.txt替代所有Makefile。Kbuild提供的類似於DSL的Make語言被一組CMake 擴展所替代,這些擴展提供了簡單的一對一Kbuild的功能的翻譯,或引入了新的概念替代Kbuild概念。

關於Zephyr

Zephyr 項目是一款小型且可擴展的操作系統,尤其適用於資源受限的硬體系統,可支持多種架構;該系統高度開源,對於開發人員社區完全開放,開發人員可根據需要對該系統進行二次開發,以支持最新硬體、工具和設備驅動程序;該系統高度模塊化平台,可輕鬆集成任何架構的第三方庫和嵌入式設備。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 小熊在線 的精彩文章:

逆襲?AMD Ryzen處理器在美佔據一半份額

TAG:小熊在線 |