Zephyr (operating system): Difference between revisions

Content deleted Content added
Template:Infobox OS, WP:REFerence WP:CITations adds, parameters: cut whitespace characters to standardize, aid edits via mobile devices, reorders, respaces, updates, conform to master templates, adds, fills, author > last + first. WP:LINKs: adds, updates, fix-cut needless WP:PIPEs (WP:NOPIPEs). MOS:FIRSTABBReviations define before WP:ABBRs in parentheses. Small WP:EoS WP:TERSE WP:COPYEDITs. Template:As of add.
m Cut needless carriage return whitespace characters in sections: standardize, aid edits via mobile devices.
Line 31:
| other articles =
}}
 
'''Zephyr''' is a small [[real-time operating system]] (RTOS)<ref>{{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}}</ref> for connected, resource-constrained and [[embedded device]]s (with an emphasis on [[microcontroller]]s) supporting multiple architectures and released under the [[Apache License]] 2.0. Zephyr includes a [[Kernel (operating system)|kernel]], and all components and [[Library (computing)|libraries]], [[device driver]]s, [[protocol stack]]s, [[file system]]s, and [[firmware update]]s, needed to develop full [[application software]].<ref name="docs.zephyrproject.org">{{Cite web |url=https://docs.zephyrproject.org/latest/introduction/ |title=Zephyr Project documentation: Introduction |language=en}}</ref>
 
== History ==
Zephyr originated from Virtuoso RTOS for [[digital signal processor]]s (DSPs).<ref name="zp19">{{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}}</ref><ref name="eej"/> 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.<ref name="eej">{{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}}</ref> 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.<ref name="eej"/>
 
Line 43 ⟶ 42:
{{As of|2020|08}}, Zephyr had the largest number of contributors and commits compared to other RTOSes (including [[Mbed]], [[RT-Thread]], [[NuttX]], and [[RIOT (operating system)|RIOT]]).<ref>{{Cite web |url=https://youtube.com/watch?v=jR5E5Kz9A-k |title=Introduction to the Zephyr RTOS |publisher=Nordic Semiconductor |date=October 6, 2020}}</ref>{{Unreliable source?|reason=Source is Nordic Semiconductor, who is a supporting member of Zephyr. i.e., a self-serving source|date=August 2021}}
 
== 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:<ref name="docs.zephyrproject.org"/>
* A small kernel
Line 52 ⟶ 50:
* 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 (programming language)|Python]] for portability to non-[[Unix]] operating systems.<ref>{{Cite web |url=https://github.com/zephyrproject-rtos/zephyr/tree/master/scripts |title=scripts/ folder |website=[[GitHub]] |date=12 May 2020}}</ref> The RTOS build system is based on [[CMake]], which allows Zephyr applications to be built on [[Linux]], [[macOS]], and [[Microsoft Windows]].<ref>{{Cite web |url=https://docs.zephyrproject.org/latest/application/ |title=Application Development: Zephyr Project Documentation |website=Zephyr Project}}</ref>
 
=== Kernel ===
 
Early Zephyr kernels used a dual [[Microkernel|nanokernel with microkernel]] design.<ref name="Microkernel">{{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}}</ref> In December 2016, with Zephyr 1.6, this changed to a [[monolithic kernel]].<ref name="Monolithic">{{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}}</ref><ref>{{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 (magazine)|Electronic Design]]}}</ref>
 
Line 68 ⟶ 64:
* [[Asymmetric multiprocessing]] (AMP, based on OpenAMP) and [[symmetric multiprocessing]] (SMP) support
 
=== Security ===
A group is dedicated to maintaining and improving the security.<ref>{{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}}</ref> Also, being owned and supported by a community means the world's open source developers are vetting the code, which significantly increases security.<ref name=":0" />