Trisha Shetty (Editor)

Zephyr (operating system)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Working state
  
Current

Source model
  
Open source

Developer
  
Linux Foundation, Wind River Systems

OS family
  
Real-time operating systems

Initial release
  
February 17, 2016; 13 months ago (2016-02-17)

Latest release
  
1.6.0 / December 15, 2016; 3 months ago (2016-12-15)

Zephyr is a small real-time operating system for connected, resource-constrained devices supporting multiple architectures and released under the Apache License 2.0 (a BSD licensed fork can be found in the Arduino 101 software source package from Intel).

Contents

History

In November 2015 it was originally developed as Rocket kernel by Wind River Systems for Internet of Things devices

In February 2016 Zephyr became a project of the Linux Foundation

Since then early members and supporters of Zephyr include Intel, NXP Semiconductors, Synopsys and UbiquiOS Technology

Features

The Zephyr Kernel is a small-footprint kernel designed for use on resource-constrained systems: from simple embedded environmental sensors and LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr Kernel offers a number of features that distinguish it from other small-footprint OSes:

  • Single address-space OS.
  • Highly configurable.
  • Resources defined at compile-time.
  • Minimal error checking.
  • Development services.
  • Security

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

    Single address-space OS

    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 a single shared address space.

    Highly configurable

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

    Resources defined at compile-time

    Requires all system resources be defined at compilation 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

    Development services offering a number of familiar services for development:

    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.

    References

    Zephyr (operating system) Wikipedia