HOME

TheInfoList



OR:

Zephyr is a small
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
(RTOS) 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 Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learni ...
, and all components and libraries, device drivers, protocol stacks, file systems, and
firmware update A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually being called bugfixes or bug fixes. Patche ...
s, needed to develop full
application software Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a ...
.


History

Zephyr originated from Virtuoso RTOS for digital signal processors (DSPs). In 2001,
Wind River Systems Wind River Systems, also known as Wind River (trademarked as Wndrvr), is an Alameda, California–based company, subsidiary of Aptiv PLC. The company develops embedded system and cloud software consisting of real-time operating systems software, ...
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. Compared to Wind River's other RTOS,
VxWorks VxWorks is a real-time operating system (or RTOS) developed as proprietary software by Wind River Systems, a wholly-owned subsidiary of Aptiv. First released in 1987, VxWorks is designed for use in embedded systems requiring real-time, determi ...
, 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. In February 2016, Rocket became a hosted collaborative project of the
Linux Foundation The Linux Foundation (LF) is a non-profit technology consortium founded in 2000 as a merger between Open Source Development Labs and the Free Standards Group to standardize Linux, support its growth, and promote its commercial adoption. Addit ...
under the name ''Zephyr''. 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". Since then, early members and supporters of Zephyr include Intel, NXP Semiconductors,
Synopsys Synopsys is an American electronic design automation (EDA) company that focuses on silicon design and verification, silicon intellectual property and software security and quality. Products include tools for logic synthesis and physical design ...
,
Linaro Linaro is an engineering organization that works on free and open-source software such as the Linux kernel, the GNU Compiler Collection (GCC), QEMU, power management, graphics and multimedia interfaces for the ARM family of instruction sets and i ...
, Texas Instruments, DeviceTone, Nordic Semiconductor,
Oticon Oticon is a hearing aid manufacturer based in Copenhagen, Denmark. The company is a subsidiary of the Demant Group. It was founded in 1904 by Hans Demant, whose wife was hearing impaired. The company claims to be the world's second-largest ma ...
, and
Bose Bose may refer to: * Bose (crater), a lunar crater * ''Bose'' (film), a 2004 Indian Tamil film starring Srikanth and Sneha * Bose (surname), a surname (and list of people with the name) * Bose, Italy, a ''frazioni'' in Magnano, Province of Biell ...
. , Zephyr had the largest number of contributors and commits compared to other RTOSes (including Mbed, RT-Thread,
NuttX NuttX is a free and open-source Real-Time Operating System (RTOS) with an emphasis on technical standards compliance and on having a small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the main governing standards in Nut ...
, and
RIOT A riot is a form of civil disorder commonly characterized by a group lashing out in a violent public disturbance against authority, property, or people. Riots typically involve destruction of property, public or private. The property targeted ...
).


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 Constrained Application Protocol (CoAP) is a specialized Internet application protocol for constrained devices, as defined iRFC 7252 It enables those constrained devices called "nodes" to communicate with the wider Internet using similar protocols ...
(CoAP), LwM2M,
MQTT MQTT (originally an initialism of MQ Telemetry Transport) is a lightweight, publish-subscribe, machine to machine network protocol for Message queue/Message queuing service. It is designed for connections with remote locations that have devices ...
,
802.15.4 IEEE 802.15.4 is a technical standard which defines the operation of a low-rate wireless personal area network (LR-WPAN). It specifies the physical layer and media access control for LR-WPANs, and is maintained by the IEEE 802.15 working group, ...
, Thread,
Bluetooth Low Energy Bluetooth Low Energy (Bluetooth LE, colloquially BLE, formerly marketed as Bluetooth Smart) is a wireless personal area network technology designed and marketed by the Bluetooth Special Interest Group (Bluetooth SIG) aimed at novel applications i ...
, CAN) * A virtual file system interface with several flash file systems for non-volatile storage ( FatFs, LittleFS, NVS) * Management and device
firmware update A patch is a set of changes to a computer program or its supporting data designed to update, fix, or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually being called bugfixes or bug fixes. Patche ...
mechanisms


Configuration and build system

Zephyr uses Kconfig and
devicetree In computing, a devicetree (also written device tree) is a data structure describing the hardware components of a particular computer so that the operating system's kernel can use and manage those components, including the CPU or CPUs, the memory, ...
as its configuration systems, inherited from the Linux kernel but implemented in the programming language
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pr ...
for portability to non- Unix operating systems. The RTOS build system is based on
CMake In software development, CMake is cross-platform free and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method. CMake is not a build system itself; it generates a ...
, which allows Zephyr applications to be built on Linux, macOS, and Microsoft Windows.


Kernel

Early Zephyr kernels used a dual nanokernel plus microkernel 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 An asymmetric multiprocessing (AMP or ASMP) system is a multiprocessor computer system where not all of the multiple interconnected central processing units (CPUs) are treated equally. For example, a system might allow (either at the hardware or ope ...
(AMP, based on OpenAMP) and symmetric multiprocessing (SMP) support


Security

A group is dedicated to maintaining and improving the security. 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

* Embedded operating system


References


External links

* * {{Real-time operating systems ARM operating systems Embedded operating systems Free software operating systems Linux Foundation projects Real-time operating systems Software using the Apache license