Zephyr

本页使用了标题或全文手工转换,现处于澳门繁体模式
求聞百科,共筆求聞
Zephyr
開發者Linux基金會
溫瑞爾系統
程式語言C組譯語言
作業系統家族即時作業系統
運作狀態Current
原始碼模式開放原始碼
首次發佈2016年2月17日,​8年前​(2016-02-17[1]
最新版本2.3.0 / 2020年6月5日,​3年前​(2020-06-05[2]
目標市場物聯網
支援的語言英語
支援平台ARMCortex-M0Cortex-M3Cortex-M4),x86ARCRISC-VNios IIXtensa
內核類別單體內核
許可證Apache 2.0
前一代Wind River Rocket
官方網站www.zephyrproject.org

Zephyr是一個小型的即時作業系統[3],用於資源受限的嵌入式互聯裝置,支援多種體系並在Apache許可證 2.0下發行。它有一個BSD許可證的仿品出現在來自Intel的Arduino 101軟件資源包中[4]

歷史

Zephyr最初是溫瑞爾系統公司在2015年11月推出的為物聯網(IoT)裝置開發的「Rocket內核」[5][6][7],更早時稱為「Microkernel Profile for VxWorks」,代碼移植於2001年併購Eonic Systems得來的Virtuoso DSP RTOS[8]。在2016年2月,它成為Linux基金會的專案而改稱現名[1][9]

簡介

Zephyr內核是小型的並設計用於資源受限的系統,預期目標是用於從簡單的嵌入式環境感測器LED可穿戴裝置,到複雜的智能手錶IoT無線閘道器。Zephyr的建造系統支援Zephyr SDK之外的第三方工具鏈[10]。Zephyr計劃設立了專門機制來維護或改進安全性[11]

Zephyr計劃的成員和支持者包括:IntelLinaroNXP半導體Nordic半導體,和Synopsysruntime.ioDeviceToneOticon等。[12]

特徵

Zephyr內核提供了如下一些特徵:記憶體保護,內核服務,高可組態性,編譯時確定資源。[13]

記憶體保護

實現可組態的特定於架構的棧溢位保護,內核物件及裝置驅動程式許可權追蹤,和線程隔離,採用了在x86ARCARM架構上的線程級別記憶體保護用戶空間和記憶體域。

對於沒有MMU/MPU的平台和記憶體受限的裝置,支援把特定應用的代碼和一個客製化內核組合起來建立一個單體映像,它被裝載並執行於系統硬件之上。應用代碼和內核代碼二者都執行在一個共用的單地址空間中。

內核服務

內核為應用開發提供了一些熟悉的服務,包括:

  1. 線程服務,兼具基於優先級的、非搶先式的協同線程和基於優先級的、搶先式線程,帶有可選的輪串流時間片。包括POSIX pthread相容API支援。
  2. 中斷服務,兼具編譯時執行時的中斷處理器註冊。
  3. 線程間同步服務,具有二值訊號量、計數訊號量互斥訊號量。
  4. 線程間數據傳遞服務,具有基本訊息佇列、增強訊息佇列和位元組流
  5. 記憶體分配服務,具有固定大小或可變大小記憶體塊的動態分配和釋放。
  6. 電能管理服務,具有比如無時標空閒和進階的空閒下部構造。

高可組態性

允許應用只合併入它需要的功能,並指定它們的數量和大小。

編譯時確定資源

要求所有系統資源都在編譯時確定,這縮減代碼大小並增進效能。

參見

參照

外部連結