Software:Zephyr (operating system)

From HandWiki
Short description: Real-time operating system
Zephyr
Zephyr RTOS logo 2015.svg
Zephyr Project logo
DeveloperLinux Foundation,
Wind River Systems
Written inC
OS familyReal-time operating systems
Working stateCurrent
Source modelOpen source
Initial release17 February 2016; 8 years ago (2016-02-17)[1]
|Final release|Latest release}}3.5.0 / 20 October 2023; 5 months ago (2023-10-20)[2][3]
Marketing targetInternet of things, Embedded Systems
Available inEnglish
PlatformsARM (Cortex-M, Cortex-R, Cortex-A), ARC, MIPS, Nios II, RISC-V, Xtensa, SPARC, x86, x86-64
Kernel typeMicrokernel (pre-v1.6)[4][5][6]
Monolithic (v1.6+)[5][6]
LicenseApache 2.0
Preceded byWind River Rocket

Zephyr (/ˈzɛf ər/) is a small real-time operating system (RTOS)[7] 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.[8]

History

Zephyr originated from Virtuoso RTOS for digital signal processors (DSPs).[9][10] 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.[10] 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.[10]

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

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

(As of January 2022), Zephyr had the largest number of contributors and commits compared to other RTOSes (including Mbed, RT-Thread, NuttX, and RIOT).[15]

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

  • 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, Constrained Application Protocol (CoAP), LwM2M, MQTT, 802.15.4, Thread, 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 devicetree as its configuration systems, inherited from the Linux kernel but implemented in the programming language Python for portability to non-Unix operating systems.[16] The RTOS build system is based on CMake, which allows Zephyr applications to be built on Linux, macOS, and Microsoft Windows.[17]

Kernel

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

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

Security

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

See also

References

  1. 1.0 1.1 "The Linux Foundation Announces Project to Build Real-Time Operating System for Internet of Things Devices". Linux Foundation. 17 February 2016. Archived from the original on 2016-03-10. https://web.archive.org/web/20160310073146/https://www.zephyrproject.org/news/linux-foundation-announces-project-build-real-time-operating-system-internet-things-devices. 
  2. "Zephyr v3.5.0". https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v3.5.0. 
  3. "Introducing Zephyr 3.5". https://www.zephyrproject.org/introducing-zephyr-3-5/. 
  4. 4.0 4.1 Wasserman, Shawn (February 22, 2016). "How Linux's IoT Zephyr Operating System Works". https://mobile.engineering.com/amp/11530.html. 
  5. 5.0 5.1 5.2 5.3 Helm, Maureen (December 15, 2016). "Announcing Zephyr OS v1.6.0". https://www.zephyrproject.org/announcing-zephyr-os-v1-6-0/. 
  6. 6.0 6.1 6.2 6.3 Wong, William G. (July 6, 2017). "Zephyr: A Wearable Operating System". https://www.electronicdesign.com/technologies/embedded-revolution/article/21805266/zephyr-a-wearable-operating-system. 
  7. "Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS" (in en-US). LinuxGizmos.com. 2016-02-17. http://linuxgizmos.com/zephyr-a-tiny-open-source-iot-rtos/. 
  8. 8.0 8.1 8.2 "Zephyr Project documentation: Introduction" (in en). https://docs.zephyrproject.org/latest/introduction/. 
  9. 9.0 9.1 Clarysse, Ivo (November 22, 2019). "Zephyr – An Operating System for IoT". https://www.zephyrproject.org/zephyr-an-operating-system-for-iot/. 
  10. 10.0 10.1 10.2 10.3 Turley, Jim (25 November 2015). "Wind River Sets Rocket RTOS on Free Trajectory" (in en-US). Techfocus Media. http://www.eejournal.com/archives/articles/20151125-windriver/. 
  11. 11.0 11.1 Guerrini, Federico (2016-02-19). "The Internet of Things Goes Open Source with Linux Foundation's Zephyr Project". Forbes. https://www.forbes.com/sites/federicoguerrini/2016/02/19/the-internet-of-things-goes-open-source-with-linux-foundations-zephyr-project/. 
  12. 12.0 12.1 Patel, Niheer (17 February 2016). "Wind River Welcomes Linux Foundation's Zephyr Project". http://blogs.windriver.com/wind_river_blog/2016/02/wind-river-welcomes-linux-foundations-zephyr-project.html. 
  13. Osborne, Charlie (2016-02-19). "The Linux Foundation's Zephyr Project: A custom operating system for IoT devices". CBS Interactive. http://www.zdnet.com/article/the-linux-foundations-zephyr-project-building-an-operating-system-for-iot-devices/. 
  14. "Zephyr Project Members". https://www.zephyrproject.org/#members. 
  15. "Zephyr GitHub page". January 26, 2022. https://github.com/zephyrproject-rtos/zephyr. 
  16. "scripts/ folder". 12 May 2020. https://github.com/zephyrproject-rtos/zephyr/tree/master/scripts. 
  17. "Application Development: Zephyr Project Documentation". https://docs.zephyrproject.org/latest/application/. 
  18. Wallen, Jack (2016-02-18). "Linux Foundation announces Zephyr Project, an open source IoT operating system". CBS Interactive. http://www.techrepublic.com/article/linux-foundation-announces-zephyr-project-an-open-source-iot-operating-system/.