Zephyr (operating system)
{{Short description|Real-time operating system}}
{{Infobox OS
| name = Zephyr
| logo = Zephyr RTOS logo 2015.svg
| logo size =
| logo caption = Zephyr Project logo
| logo alt =
| screenshot =
| screenshot size =
| screenshot alt =
| caption =
| developer = Linux Foundation,
Wind River Systems
| family = Real-time operating systems
| working state = Current
| source model = Open source
| released = {{Start date and age|2016|07|26|df=yes}}
| latest release version = 4.1.0
| latest release date = {{Start date and age|2025|03|07|df=yes}}{{cite web |url= https://github.com/zephyrproject-rtos/zephyr/releases/tag/v4.1.0 |title= Zephyr v4.1.0|website= GitHub}}{{cite web |url=https://zephyrproject.org/zephyr-rtos-4-1-is-available/|title= Zephyr RTOS 4.1 Now Available|website= Zephyr blog}}
| marketing target = Internet of things, Embedded Systems
| programmed in = C
| language = English
| update model =
| package manager =
| 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+)
| userland =
| ui =
| license = Apache 2.0
| preceded by = Wind River Rocket
| succeeded by =
| other articles =
}}
Zephyr ({{IPAc-en|ˈ|z|ɛ|f|_|ə|r}}) is a small real-time operating system (RTOS){{Cite news|url=http://linuxgizmos.com/zephyr-a-tiny-open-source-iot-rtos/|title=Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS|date=2016-02-17|work=LinuxGizmos.com|access-date=2018-02-23|language=en-US}} 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.{{Cite web |url=https://docs.zephyrproject.org/latest/introduction/ |title=Zephyr Project documentation: Introduction |language=en}}
It is named after Zephyrus, the ancient Greek god of the west wind.{{Cite web|url=https://docs.zephyrproject.org/latest/develop/west/index.html#west-name|title=West (Zephyr's meta-tool) — Zephyr Project Documentation|website=docs.zephyrproject.org}}
History
Zephyr originated from Virtuoso RTOS for digital signal processors (DSPs).{{cite web |last=Clarysse |first=Ivo |date=November 22, 2019 |url=https://www.zephyrproject.org/zephyr-an-operating-system-for-iot/ |title=Zephyr – An Operating System for IoT |website=Zephyr Project}} 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.{{Cite news |last=Turley |first=Jim |date=25 November 2015 |url=http://www.eejournal.com/archives/articles/20151125-windriver/ |title=Wind River Sets Rocket RTOS on Free Trajectory |website=Electronic Engineering Journal |publisher=Techfocus Media |language=en-US |access-date=2018-02-23}} 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.
In February 2016, Rocket became a hosted collaborative project of the Linux Foundation under the name Zephyr.{{Cite news |last=Guerrini |first=Federico |date=2016-02-19 |url=https://www.forbes.com/sites/federicoguerrini/2016/02/19/the-internet-of-things-goes-open-source-with-linux-foundations-zephyr-project/ |title=The Internet of Things Goes Open Source with Linux Foundation's Zephyr Project |work=Forbes |access-date=2017-01-12}}{{Cite web |url=https://www.zephyrproject.org/news/linux-foundation-announces-project-build-real-time-operating-system-internet-things-devices |title=The Linux Foundation Announces Project to Build Real-Time Operating System for Internet of Things Devices |author= |date=17 February 2016 |website=Zephyr Project |publisher=Linux Foundation |archiveurl=https://web.archive.org/web/20160310073146/https://www.zephyrproject.org/news/linux-foundation-announces-project-build-real-time-operating-system-internet-things-devices |archivedate=2016-03-10}} Wind River Systems contributed the Rocket kernel to Zephyr, but still provided Rocket to its clients, charging them for the cloud services. As a result, Rocket became "essentially the commercial version of Zephyr".{{Cite web |url=http://blogs.windriver.com/wind_river_blog/2016/02/wind-river-welcomes-linux-foundations-zephyr-project.html |title=Wind River Welcomes Linux Foundation's Zephyr Project |last=Patel |first=Niheer |date=17 February 2016 |website=Wind River Systems |access-date=18 February 2016 |archive-date=21 February 2016 |archive-url=https://web.archive.org/web/20160221003830/http://blogs.windriver.com/wind_river_blog/2016/02/wind-river-welcomes-linux-foundations-zephyr-project.html |url-status=dead }}
Since then, early members and supporters of Zephyr include Intel, NXP Semiconductors, Synopsys, Linaro,{{Cite news |last=Osborne |first=Charlie |date=2016-02-19 |url=https://www.zdnet.com/article/the-linux-foundations-zephyr-project-building-an-operating-system-for-iot-devices/ |title=The Linux Foundation's Zephyr Project: A custom operating system for IoT devices |website=ZDNet |publisher=CBS Interactive |access-date=2017-01-12}} Texas Instruments, Nordic Semiconductor, Oticon, and Bose.{{Cite web |url=https://www.zephyrproject.org/project-members/|title=Project Members|website=Zephyr Project}}
{{As of|2025|01}}, Zephyr had the largest number of contributors and commits compared to other RTOSes (including Mbed, RT-Thread, NuttX, and RIOT).{{Cite web |url=https://github.com/zephyrproject-rtos/zephyr |title=Zephyr GitHub page |website=GitHub |date=January 30, 2025}}
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:
- 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.{{Cite web |url=https://github.com/zephyrproject-rtos/zephyr/tree/master/scripts |title=scripts/ folder |website=GitHub |date=12 May 2020}} The RTOS build system is based on CMake, which allows Zephyr applications to be built on Linux, macOS, and Microsoft Windows.{{Cite web |url=https://docs.zephyrproject.org/latest/application/ |title=Application Development: Zephyr Project Documentation |website=Zephyr Project}}
=Utility tool "West"=
Zephyr has a general-purpose tool called "west" for managing repositories, downloading programs to hardware, etc.
=Kernel=
Early Zephyr kernels used a dual nanokernel plus microkernel design.{{Cite web |last=Wasserman |first=Shawn |date=February 22, 2016 |url=https://mobile.engineering.com/amp/11530.html |title=How Linux's IoT Zephyr Operating System Works |website=Engineering.com}}{{Cite web |last=Helm |first=Maureen |date=December 15, 2016 |url=https://www.zephyrproject.org/announcing-zephyr-os-v1-6-0/ |title=Announcing Zephyr OS v1.6.0 |website=Zephyr Project}}{{Cite web |last=Wong |first=William G. |date=July 6, 2017 |url=https://www.electronicdesign.com/technologies/embedded-revolution/article/21805266/zephyr-a-wearable-operating-system |title=Zephyr: A Wearable Operating System |website=Electronic Design}} In December 2016, with Zephyr 1.6, this changed to a monolithic kernel.
The kernel offers several features that distinguish it from other small OSes:
- 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.{{Cite news |last=Wallen |first=Jack |date=2016-02-18 |url=http://www.techrepublic.com/article/linux-foundation-announces-zephyr-project-an-open-source-iot-operating-system/ |title=Linux Foundation announces Zephyr Project, an open source IoT operating system |website=TechRepublic |publisher=CBS Interactive |access-date=2017-01-12}} Also, being owned and supported by a community means the world's open source developers are vetting the code, which significantly increases security.
See also
References
{{Reflist}}
{{Real-time operating systems}}
{{Linux Foundation}}
Category:ARM operating systems
Category:Embedded operating systems
Category:Free software operating systems
Category:Linux Foundation projects
Category:Real-time operating systems
Category:Software using the Apache license
Category:IA-32 operating systems