Zephyr (operating system)

This is an old revision of this page, as edited by Introiboad (talk | contribs) at 23:30, 10 February 2019. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Zephyr is a small real-time operating system[3] for connected, resource-constrained and embedded devices (with an emphasis on microcontrollers) supporting multiple architectures and released under the Apache License 2.0. Beyond its kernel, Zephyr includes all the necessary components and libraries required to develop a full application such as device drivers, protocol stacks, filesystems and firmware update [4].

Zephyr
File:Zephyr-logo.png
DeveloperLinux Foundation,
Wind River Systems
Written inC and assembly
OS familyReal-time operating systems
Working stateCurrent
Source modelOpen source
Initial release17 February 2016; 9 years ago (2016-02-17)[1]
Latest release1.13.0 / 10 September 2018; 6 years ago (2018-09-10)[2]
Latest preview1.13.99 / 10 September 2018; 6 years ago (2018-09-10)
Repository
Marketing targetInternet of things
Available inEnglish
Supported platformsARM (Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M23, Cortex-M33), x86, x86-64, ARC, RISC-V, Nios II, Xtensa
Kernel typeMonolithic
LicenseApache 2.0
Preceded byWind River Rocket
Official websitewww.zephyrproject.org

History

In November 2015, it was originally developed as Rocket[5][6][7] kernel by Wind River Systems for Internet of things (IoT) devices.[8]

In February 2016, Zephyr became a project of the Linux Foundation.[9][1]

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

Features

Zephyr intends to provide all necessary components to develop resource-constrained and embedded or microcontroller-based applications. This includes but is not limited to:

Configuration and Build system

Zephyr uses Kconfig and Device tree as its configuration systems, inherited from the Linux kernel but implemented in Python for portability to non-UNIX operating systems[12]. The RTOS build system is based on CMake, which allows Zephyr applications to be built on GNU/Linux, macOS and Microsoft Windows[13].

Kernel

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

Security

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

Single address-space

Combines application-specific code with a custom kernel to create a monolithic image that gets loaded and executed on a system’s hardware. Both the application code and kernel code execute in one shared address space.

Highly configurable

Allows an application to incorporate only the abilities it needs, as needed, and to specify their quantity and size.

Resources defined at compile-time

Requires all system resources be defined at compile time, which reduces code size and increases performance.

Minimal error checking

Provides minimal run-time error checking to reduce code size and increase performance. An optional error-checking infrastructure is provided to assist in debugging during application development.

Development services

The development services offer several familiar services for development, including:

  1. Multi-threading services for both priority-based, non-preemptive cooperative threads and priority-based, preemptive threads with optional round robin time-slicing.
  2. Interrupt services for both compile-time and run-time registration of interrupt handlers.
  3. Inter-thread synchronization services for binary semaphores, counting semaphores, and mutex semaphores.
  4. Inter-thread data passing services for basic message queues, enhanced message queues, and byte streams.
  5. Memory allocation services for dynamic allocation and freeing of fixed-size or variable-size memory blocks.
  6. Power management services such as tickless idle and an advanced idling infrastructure.

See also

References

  1. ^ a b Zephyr Project: The Linux Foundation Announces Project to Build Real-Time Operating System for Internet of Things Devices, Linux Foundation, 17 February 2016
  2. ^ "Zephyr v1.13.0".
  3. ^ "Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS". LinuxGizmos.com. 2016-02-17. Retrieved 2018-02-23.
  4. ^ ""Zephyr Project documentation: Introduction"".
  5. ^ "MCU Commercial Free RTOS for small embedded edge devices | Rocket". windriver.com. Retrieved 2018-02-23.
  6. ^ "Wind River Sets Rocket RTOS On Free Trajectory – EEJournal". www.eejournal.com. Retrieved 2018-02-23.
  7. ^ https://software.intel.com/en-us/iot/rocket
  8. ^ Niheer Patel: Wind River Welcomes Linux Foundation’s Zephyr Project, Wind River Systems, 17 February 2016
  9. ^ 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.
  10. ^ 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.
  11. ^ ""Zephyr Project Members"".
  12. ^ ""scripts/ folder on GitHub"".
  13. ^ {{Cite web|url=https://docs.zephyrproject.org/latest/application/index.html%7Ctitle="Zephyr Project documentation: Application Development"
  14. ^ Wallen, Jack (2016-02-18). "Linux Foundation announces Zephyr Project, an open source IoT operating system - TechRepublic". TechRepublic. CBS Interactive. Retrieved 2017-01-12.