Zephyr (operating system)
File:Zephyr-logo.png | |
Developer | Linux Foundation, Wind River Systems |
---|---|
Written in | C and assembly |
OS family | Real-time operating systems |
Working state | Current |
Source model | Open source |
Initial release | 17 February 2016[1] |
Latest release | 1.13.0 / 10 September 2018[2] |
Latest preview | 1.13.99 / 10 September 2018 |
Repository | |
Marketing target | Internet of things |
Available in | English |
Platforms | ARM (Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M23, Cortex-M33), x86, x86-64, ARC, RISC-V, Nios II, Xtensa |
Kernel type | Monolithic |
License | Apache 2.0 |
Preceded by | Wind River Rocket |
Official website | www |
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].
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[12]:
- A small-footprint kernel
- A flexible configuration and build system for compile-time definition of required resources and modules
- A set of protocol stacks (IPv4 and IPv6, OMA LWM2M, MQTT, 802.15.4, Bluetooth Low Energy, CAN)
- A virtual file system interface with several flash file systems for non-volatile storage
- Management and device firmware update mechanisms
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[13]. The RTOS build system is based on CMake, which allows Zephyr applications to be built on GNU/Linux, macOS and Microsoft Windows[14].
Kernel
The kernel offers several features that distinguish it from other small OSes[15]:
- Single address-space
- Multiple Scheduling Algorithms
- Highly configurable and modular for flexibility, with resources defined at compile-time
- MPU-based memory protection
- AMP (based on OpenAMP) and SMP support
Security
A group is dedicated to maintaining and improving the security.[16] 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]
See also
References
- ^ 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
- ^ "Zephyr v1.13.0".
- ^ "Meet Linux's little brother: Zephyr, a tiny open-source IoT RTOS". LinuxGizmos.com. 2016-02-17. Retrieved 2018-02-23.
- ^ ""Zephyr Project documentation: Introduction"".
- ^ "MCU Commercial Free RTOS for small embedded edge devices | Rocket". windriver.com. Retrieved 2018-02-23.
- ^ "Wind River Sets Rocket RTOS On Free Trajectory – EEJournal". www.eejournal.com. Retrieved 2018-02-23.
- ^ https://software.intel.com/en-us/iot/rocket
- ^ Niheer Patel: Wind River Welcomes Linux Foundation’s Zephyr Project, Wind River Systems, 17 February 2016
- ^ 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.
- ^ 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.
- ^ ""Zephyr Project Members"".
- ^ ""Zephyr Project documentation: Introduction"".
- ^ ""scripts/ folder on GitHub"".
- ^ {{Cite web|url=https://docs.zephyrproject.org/latest/application/index.html%7Ctitle="Zephyr Project documentation: Application Development"
- ^ ""Zephyr Project documentation: Introduction"".
- ^ Wallen, Jack (2016-02-18). "Linux Foundation announces Zephyr Project, an open source IoT operating system - TechRepublic". TechRepublic. CBS Interactive. Retrieved 2017-01-12.