Zephyr (操作系統)

嵌入式实时操作系统

Zephyr是一個小型的實時操作系統[3],用於資源受限的嵌入式互聯設備(主要是微控制器),支持多種架構,使用Apache許可證 2.0發行。它有一個BSD許可證的仿品出現在來自Intel的Arduino 101軟件資源包中[4]

Zephyr
開發者Linux基金會
風河系統
編程語言C匯編語言
作業系統家族實時操作系統
運作狀態Current
源碼模式開放源代碼
首次發布2016年2月17日,​8年前​(2016-02-17[1]
當前版本
  • 4.0.0(2024年11月15日;穩定版本)[2]
編輯維基數據鏈接
市場取向物聯網
支持的語言英語
支援平台ARMCortex-M0Cortex-M3Cortex-M4),x86ARCRISC-VNios IIXtensa
內核類別單體內核
許可證Apache 2.0
前一代Wind River Rocket
官方網站www.zephyrproject.org
倉庫 編輯維基數據鏈接

歷史

編輯

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

簡介

編輯

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

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

特徵

編輯

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

內存保護

編輯

實現可配置的特定於架構的棧溢出保護,內核對象及設備驅動程序許可權追蹤,和線程隔離,採用了在x86ARCARM架構上的線程級別內存保護用戶空間和內存域。

對於沒有MMU/MPU的平台和內存受限的設備,支持把特定應用的代碼和一個定製內核組合起來建立一個單體映像,它被裝載並執行於系統硬件之上。應用代碼和內核代碼二者都執行在一個共享的單地址空間英語Single address space operating system中。

內核服務

編輯

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

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

高可配置性

編輯

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

編譯時確定資源

編輯

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

參見

編輯

引用

編輯
  1. ^ 1.0 1.1 Zephyr Project: The Linux Foundation Announces Project to Build Real-Time Operating System for Internet of Things Devices頁面存檔備份,存於網際網路檔案館), Linux Foundation, 17 February 2016
  2. ^ Zephyr 4.0.0. 2024年11月15日 [2024年11月20日]. 
  3. ^ Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS. LinuxGizmos.com. 2016-02-17 [2018-02-23]. (原始內容存檔於2022-02-04) (美國英語). 
  4. ^ Zephyr Kernel v1.0.0 Release Notes. [2018-03-30]. (原始內容存檔於2016-03-07). 
  5. ^ MCU Commercial Free RTOS for small embedded edge devices | Rocket. windriver.com. [2018-02-23]. (原始內容存檔於2016-07-16) (英語). 
  6. ^ Wind River Sets Rocket RTOS On Free Trajectory – EEJournal. www.eejournal.com. [2018-02-23]. (原始內容存檔於2016-10-28) (美國英語). 
  7. ^ Niheer Patel: Wind River Welcomes Linux Foundation’s Zephyr Project頁面存檔備份,存於網際網路檔案館), Wind River Systems, 17 February 2016
  8. ^ What is Zephyr. [2018-12-02]. (原始內容存檔於2018-12-02). 
  9. ^ Guerrini, Federico. The Internet of Things Goes Open Source with Linux Foundation's Zephyr Project. Forbes. 2016-02-19 [2017-01-12]. (原始內容存檔於2022-02-24). 
  10. ^ Getting Started Guide » 3rd Party Toolchains. [2018-11-30]. (原始內容存檔於2021-09-29). 
  11. ^ Zephyr Project Security » Zephyr Security Overview. [2018-12-01]. (原始內容存檔於2022-03-29). 
  12. ^ "Zephyr Project Members". [2018-03-30]. (原始內容存檔於2022-04-01). 
  13. ^ Introducing Zephyr » Distinguishing Features. [2018-12-01]. (原始內容存檔於2020-10-22). 

外部連結

編輯