Zephyr (operating system)
File:Zephyr-logo.png | |
Developer | Linux Foundation, Wind River Systems |
---|---|
Written in | C |
OS family | Real-time operating systems |
Working state | Current |
Source model | Open source |
Initial release | 17 February 2016[1] |
Latest release | 2.6.0 / 4 June 2021[2] |
Repository | |
Marketing target | Internet of things |
Available in | English |
Platforms | ARM (Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-R4, Cortex-R5, Cortex-A53), x86, x86-64, ARC, RISC-V, Nios II, Xtensa, SPARC |
Kernel type | Monolithic |
License | Apache 2.0 |
Preceded by | Wind River Rocket |
Official website | www |
Zephyr is a small real-time operating system[3] for connected, resource-constrained and embedded devices (with an emphasis on microcontrollers) supporting multiple architectures and released under the Apache License 2.0. Beyond its kernel, Zephyr includes all the components and libraries needed to develop a full application such as device drivers, protocol stacks, file systems, and firmware updates.[4]
History
Zephyr originated from Virtuoso RTOS for DSPs.[5][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.[6] Compared to Wind River's other RTOS, VxWorks, Rocket had a much smaller memory footprint, particularly suitable for sensors and single-function embedded devices. Rocket could fit into as little as 4 KB of memory, while VxWorks required 200 KB or more.[6]
In February 2016, Rocket became a hosted collaborative project of the Linux Foundation under the name Zephyr.[5][7][1] Wind River Systems contributed the Rocket kernel to Zephyr, but still provided Rocket to its clients charging them for the cloud services.[8][6] As a result, Rocket became "essentially the commercial version of Zephyr".[8]
Since then, early members and supporters of Zephyr include Intel, NXP Semiconductors, Synopsys, Linaro,[9] Texas Instruments, DeviceTone, Nordic Semiconductor, Oticon, and Bose.[10]
As of August 2020, Zephyr had the largest number of contributors and the largest number of commits compared to other RTOSes (including mbed OS, RT-Thread, NuttX and RIOT).[11]
Features
Zephyr intends to provide all components needed to develop resource-constrained and embedded or microcontroller-based applications. This includes, but is not limited to:[12]
- A small kernel
- A flexible configuration and build system for compile-time definition of required resources and modules
- A set of protocol stacks (IPv4 and IPv6, OMA LWM2M, MQTT, 802.15.4, Bluetooth Low Energy, CAN)
- A virtual file system interface with several flash file systems for non-volatile storage (FATFS, LittleFS, NVS)
- Management and device firmware update mechanisms
Configuration and build system
Zephyr uses Kconfig and device tree as its configuration systems, inherited from the Linux kernel but implemented in Python for portability to non-Unix operating systems.[13] The RTOS build system is based on CMake, which allows Zephyr applications to be built on Linux, macOS, and Microsoft Windows.[14]
Kernel
The kernel offers several features that distinguish it from other small OSes:[15]
- Single address space
- Multiple scheduling algorithms
- Highly configurable and modular for flexibility, with resources defined at compile-time
- Memory protection unit (MPU) based protection
- Asymmetric multiprocessing (AMP, based on OpenAMP) and symmetric multiprocessing (SMP) support
Security
A group is dedicated to maintaining and improving the security.[16] Also, being owned and supported by a community means the world's open source developers are vetting the code, which significantly increases security.[7]
See also
References
- ^ a b "The Linux Foundation Announces Project to Build Real-Time Operating System for Internet of Things Devices". Zephyr Project. Linux Foundation. 17 February 2016. Archived from the original on 2016-03-10.
- ^ "Zephyr v2.6.0".
- ^ "Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS". LinuxGizmos.com. 2016-02-17. Retrieved 2018-02-23.
- ^ "Zephyr Project documentation: Introduction".
- ^ a b Clarysse, Ivo (November 22, 2019). "Zephyr – An Operating System for IoT". Zephyr Project.
- ^ a b c d "Wind River Sets Rocket RTOS On Free Trajectory". EEJournal. 25 November 2015. Retrieved 2018-02-23.
- ^ a b Guerrini, Federico (2016-02-19). "The Internet of Things Goes Open Source with Linux Foundation's Zephyr Project". Forbes. Retrieved 2017-01-12.
- ^ a b Patel, Niheer (17 February 2016). "Wind River Welcomes Linux Foundation's Zephyr Project". Wind River Systems.
- ^ Osborne, Charlie (2016-02-19). "The Linux Foundation's Zephyr Project: A custom operating system for IoT devices". ZDNet. CBS Interactive. Retrieved 2017-01-12.
- ^ "Zephyr Project Members".
- ^ "Introduction to the Zephyr RTOS". Nordic Semiconductor. October 6, 2020.
- ^ "Zephyr Project documentation: Introduction".
- ^ "scripts/ folder on GitHub". 12 May 2020.
- ^ "Application Development – Zephyr Project Documentation". Zephyr Project.
- ^ "Zephyr Project documentation: Introduction".
- ^ Wallen, Jack (2016-02-18). "Linux Foundation announces Zephyr Project, an open source IoT operating system". TechRepublic. CBS Interactive. Retrieved 2017-01-12.