Zephyr (operating system)

Summary

Zephyr
Zephyr OS logo.svg
DeveloperLinux Foundation,
Wind River Systems
Written inC
OS familyReal-time operating systems
Working stateCurrent
Source modelOpen source
Initial release17 October 2017; 4 years ago (2017-10-17)[1]
Latest release2.7.0 / 17 October 2021; 47 days ago (2021-10-17)[2]
Repository
  • github.com/zephyrproject-rtos/zephyr Edit this at Wikidata
Marketing targetInternet of things
Available inEnglish
PlatformsARM (Cortex-M0, -M1, -M3, -M4, -M7, -M23, -M33, -R4, -R5, -R82, -A9, -A53), x86, x86-64, ARC, RISC-V, Nios II, Xtensa, SPARC
Kernel typeMicrokernel (pre-v1.6)[3][4][5]
Monolithic (v1.6+)[4][5]
LicenseApache 2.0
Preceded byWind River Rocket
Official websitewww.zephyrproject.org

Zephyr is a small real-time operating system (RTOS)[6] 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.[7]

History

Zephyr originated from Virtuoso RTOS for digital signal processors (DSPs).[8][9] 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.[9] Compared to Wind River's other RTOS, VxWorks, Rocket had a 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.[9]

In February 2016, Rocket became a hosted collaborative project of the Linux Foundation under the name Zephyr.[8][10][1] Wind River Systems contributed the Rocket kernel to Zephyr, but still provided Rocket to its clients, charging them for the cloud services.[11][9] As a result, Rocket became "essentially the commercial version of Zephyr".[11]

Since then, early members and supporters of Zephyr include Intel, NXP Semiconductors, Synopsys, Linaro,[12] Texas Instruments, DeviceTone, Nordic Semiconductor, Oticon, and Bose.[13]

As of August 2020, Zephyr had the largest number of contributors and commits compared to other RTOSes (including Mbed, RT-Thread, NuttX, and RIOT).[14][unreliable source?]

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:[7]

Configuration and build system

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.[15] The RTOS build system is based on CMake, which allows Zephyr applications to be built on Linux, macOS, and Microsoft Windows.[16]

Kernel

Early Zephyr kernels used a dual nanokernel plus microkernel design.[3][4][5] In December 2016, with Zephyr 1.6, this changed to a monolithic kernel.[4][5]

The kernel offers several features that distinguish it from other small OSes:[7]

Security

A group is dedicated to maintaining and improving the security.[17] Also, being owned and supported by a community means the world's open source developers are vetting the code, which significantly increases security.[10]

See also

References

  1. ^ 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.
  2. ^ "Zephyr v2.7.0".
  3. ^ a b Wasserman, Shawn (February 22, 2016). "How Linux's IoT Zephyr Operating System Works". Engineering.com.
  4. ^ a b c d Helm, Maureen (December 15, 2016). "Announcing Zephyr OS v1.6.0". Zephyr Project.
  5. ^ a b c d Wong, William G. (July 6, 2017). "Zephyr: A Wearable Operating System". Electronic Design.
  6. ^ "Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS". LinuxGizmos.com. 2016-02-17. Retrieved 2018-02-23.
  7. ^ a b c "Zephyr Project documentation: Introduction".
  8. ^ a b Clarysse, Ivo (November 22, 2019). "Zephyr – An Operating System for IoT". Zephyr Project.
  9. ^ a b c d Turley, Jim (25 November 2015). "Wind River Sets Rocket RTOS on Free Trajectory". Electronic Engineering Journal. Techfocus Media. Retrieved 2018-02-23.
  10. ^ 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.
  11. ^ a b Patel, Niheer (17 February 2016). "Wind River Welcomes Linux Foundation's Zephyr Project". Wind River Systems.
  12. ^ 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.
  13. ^ "Zephyr Project Members".
  14. ^ "Introduction to the Zephyr RTOS". Nordic Semiconductor. October 6, 2020.
  15. ^ "scripts/ folder". GitHub. 12 May 2020.
  16. ^ "Application Development: Zephyr Project Documentation". Zephyr Project.
  17. ^ Wallen, Jack (2016-02-18). "Linux Foundation announces Zephyr Project, an open source IoT operating system". TechRepublic. CBS Interactive. Retrieved 2017-01-12.

External links

  • Official website
  • zephyr on GitHub