Zephyr (操作系统)
Zephyr是一个小型的实时操作系统[3],用于资源受限的嵌入式互联设备(主要是微控制器),支持多种架构,使用Apache许可证 2.0发行。它有一个BSD许可证的仿品出现在来自Intel的Arduino 101软件资源包中[4]。
开发者 | Linux基金会, 风河系统 |
---|---|
编程语言 | C和汇编语言 |
作业系统家族 | 实时操作系统 |
运作状态 | Current |
源码模式 | 开放源代码 |
首次发布 | 2016年2月17日[1] |
当前版本 |
|
市场取向 | 物联网 |
支持的语言 | 英语 |
支援平台 | ARM(Cortex-M0,Cortex-M3, Cortex-M4),x86,ARC,RISC-V,Nios II,Xtensa |
内核类别 | 单体内核 |
许可证 | Apache 2.0 |
前一代 | Wind River Rocket |
官方网站 | www |
仓库 |
历史
编辑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无线网关。Zephyr的建造系统支持Zephyr SDK之外的第三方工具链[10]。Zephyr计划设立了专门机制来维护或改进安全性[11]。
Zephyr计划的成员和支持者包括:Intel、Linaro、NXP半导体、Nordic半导体 ,和Synopsys、 runtime.io 、DeviceTone、Oticon等。[12]
特征
编辑Zephyr内核提供了如下一些特征:内存保护,内核服务,高可配置性,编译时确定资源。[13]
内存保护
编辑实现可配置的特定于架构的栈溢出保护,内核对象及设备驱动程序许可权追踪,和线程隔离,采用了在x86、ARC和ARM架构上的线程级别内存保护、用户空间和内存域。
对于没有MMU/MPU的平台和内存受限的设备,支持把特定应用的代码和一个定制内核组合起来建立一个单体映像,它被装载并执行于系统硬件之上。应用代码和内核代码二者都执行在一个共享的单地址空间中。
内核服务
编辑内核为应用开发提供了一些熟悉的服务,包括:
- 多线程服务,兼具基于优先级的、非抢先式的协同线程和基于优先级的、抢先式线程,带有可选的轮流式时间片。包括POSIX pthread兼容API支持。
- 中断服务,兼具编译时和运行时的中断处理器注册。
- 线程间同步服务,具有二值信号量、计数信号量、互斥信号量。
- 线程间数据传递服务,具有基本消息队列、增强消息队列和字节流。
- 内存分配服务,具有固定大小或可变大小内存块的动态分配和释放。
- 电能管理服务,具有比如无时标空闲和高级的空闲下部构造。
高可配置性
编辑允许应用只合并入它需要的功能,并指定它们的数量和大小。
编译时确定资源
编辑要求所有系统资源都在编译时确定,这缩减代码大小并增进性能。
参见
编辑引用
编辑- ^ 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
- ^ Zephyr 4.0.0. 2024年11月15日 [2024年11月20日].
- ^ Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS. LinuxGizmos.com. 2016-02-17 [2018-02-23]. (原始内容存档于2022-02-04) (美国英语).
- ^ Zephyr Kernel v1.0.0 Release Notes. [2018-03-30]. (原始内容存档于2016-03-07).
- ^ MCU Commercial Free RTOS for small embedded edge devices | Rocket. windriver.com. [2018-02-23]. (原始内容存档于2016-07-16) (英语).
- ^ Wind River Sets Rocket RTOS On Free Trajectory – EEJournal. www.eejournal.com. [2018-02-23]. (原始内容存档于2016-10-28) (美国英语).
- ^ Niheer Patel: Wind River Welcomes Linux Foundation’s Zephyr Project (页面存档备份,存于互联网档案馆), Wind River Systems, 17 February 2016
- ^ What is Zephyr. [2018-12-02]. (原始内容存档于2018-12-02).
- ^ 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).
- ^ Getting Started Guide » 3rd Party Toolchains. [2018-11-30]. (原始内容存档于2021-09-29).
- ^ Zephyr Project Security » Zephyr Security Overview. [2018-12-01]. (原始内容存档于2022-03-29).
- ^ "Zephyr Project Members". [2018-03-30]. (原始内容存档于2022-04-01).
- ^ Introducing Zephyr » Distinguishing Features. [2018-12-01]. (原始内容存档于2020-10-22).