Zephyr | |
Logo Caption: | Zephyr Project logo |
Developer: | Linux Foundation, Wind River Systems |
Family: | Real-time operating systems |
Working State: | Current |
Source Model: | Open source |
Latest Release Version: | 3.7.0 |
Latest Release Date: | [1] [2] |
Marketing Target: | Internet of things, Embedded Systems |
Programmed In: | C |
Language: | English |
Supported Platforms: | ARM (Cortex-M, Cortex-R, Cortex-A), ARC, MIPS, Nios II, RISC-V, Xtensa, SPARC, x86, x86-64 |
Kernel Type: | Microkernel (pre-v1.6) Monolithic (v1.6+) |
License: | Apache 2.0 |
Preceded By: | Wind River Rocket |
Zephyr is a small real-time operating system (RTOS)[3] for connected, resource-constrained and embedded devices (with an emphasis on microcontrollers) supporting multiple architectures and released under the Apache License 2.0. Zephyr includes a kernel, and all components and libraries, device drivers, protocol stacks, file systems, and firmware updates, needed to develop full application software.[4]
It is named after Zephyrus, the ancient Greek god of the west wind.[5]
Zephyr originated from Virtuoso RTOS for digital signal processors (DSPs).[6] In 2001, Wind River Systems acquired Belgian software company Eonic Systems, the developer of Virtuoso. In November 2015, Wind River Systems renamed the operating system to Rocket, made it open-source and royalty-free.[7] Compared to Wind River's other RTOS, VxWorks, Rocket had much smaller memory needs, especially suitable for sensors and single-function embedded devices. Rocket could fit into as little as 4 KB of memory, while VxWorks needed 200 KB or more.[7]
In February 2016, Rocket became a hosted collaborative project of the Linux Foundation under the name Zephyr.[6] [8] [9] Wind River Systems contributed the Rocket kernel to Zephyr, but still provided Rocket to its clients, charging them for the cloud services.[7] As a result, Rocket became "essentially the commercial version of Zephyr".[10]
Since then, early members and supporters of Zephyr include Intel, NXP Semiconductors, Synopsys, Linaro,[11] Texas Instruments, DeviceTone, Nordic Semiconductor, Oticon, and Bose.[12]
, Zephyr had the largest number of contributors and commits compared to other RTOSes (including Mbed, RT-Thread, NuttX, and RIOT).[13]
Zephyr intends to provide all components needed to develop resource-constrained and embedded or microcontroller-based applications. This includes, but is not limited to:[4]
Zephyr uses Kconfig and devicetree as its configuration systems, inherited from the Linux kernel but implemented in the programming language Python for portability to non-Unix operating systems.[14] The RTOS build system is based on CMake, which allows Zephyr applications to be built on Linux, macOS, and Microsoft Windows.[15]
Zephyr has a general-purpose tool called "west" for managing repositories, downloading programs to hardware, etc.
Early Zephyr kernels used a dual nanokernel plus microkernel design.[16] [17] [18] In December 2016, with Zephyr 1.6, this changed to a monolithic kernel.[17] [18]
The kernel offers several features that distinguish it from other small OSes:[4]
A group is dedicated to maintaining and improving the security.[19] Also, being owned and supported by a community means the world's open source developers are vetting the code, which significantly increases security.