Loading AI tools
freies Echtzeitbetriebssystem Aus Wikipedia, der freien Enzyklopädie
Zephyr ist ein Open-Source-Echtzeitbetriebssystem, welches von der Linux Foundation für das Internet der Dinge entwickelt wird, seit Februar 2016 in der Version 1.0.0.[2]
Zephyr | |
---|---|
![]() | |
Entwickler | Linux Foundation, Wind River Systems |
Lizenz(en) | Apache Version 2.0 |
Erstveröff. | 9. Februar 2016 |
Akt. Version | 3.7.0[1] vom 26. Juli 2024 |
Architektur(en) | Arm, x86, RISC-V |
Sprache(n) | Englisch |
www.zephyrproject.org |
Im Rahmen ihrer „Collaborative Projects“[3] hat die Linux Foundation Zephyr in Zusammenarbeit mit den Firmen Intel, NXP, Synopsys und UbiquiOS ins Leben gerufen, um den Entwicklern ein Echtzeitbetriebssystem zur Verfügung zu stellen, welches den aktuellen und stetig steigenden Anforderungen an das „Internet of Things“ Rechnung trägt. Insbesondere die Bereiche Sicherheit, Konnektivität, Skalierbarkeit und Modularität sollen verstärkt Berücksichtigung finden.[4]
Das Betriebssystem Zephyr ist für Bereiche gedacht, in denen Geräte Anwendung finden, die zum einen nur eine geringe Speichergröße besitzen und zum anderen über eine feststehende Hardwarekonfiguration verfügen. Hierunter fallen beispielsweise Steuerungen für Beleuchtungs- und Heizungssysteme sowie Geräte aus allen Bereichen des täglichen Lebens.
Zephyr besitzt keinen regulären Linux-Kernel, sondern nutzte eine Kombination aus Nano- und Mikrokernel, der Anwendungen mithilfe des Nanokernels eine Echtzeitumgebung zur Verfügung stellt. Dem entgegen war der Mikrokernel für Anwendungen gedacht, welche die Befähigung zur Echtzeitverarbeitung nicht benötigen. Beide Kernel wurden inzwischen zu einem Unikernel vereint. Des Weiteren benötigt Zephyr im Gegensatz zu einem Linux-Kernel nur zwischen 8 und 512 KByte an Arbeitsspeicher.
Zephyr unterstützt aktuell die Plattformen[5] x86 (32-Bit: IA-32, und 64-Bit: x64), ARC EM and HS, RISC-V (32- and 64-Bit), Arm (ARMv6-M, ARMv7-M, and ARMv8-M (Cortex-M), ARMv7-A and ARMv8-A (Cortex-A, 32- and 64-Bit), ARMv7-R (Cortex-R)), NIOS II Gen 2, SPARC V8, Tensilica Xtensa, so dass eine Vielzahl verschiedener Motherboards zum Einsatz kommen können: So unter anderem die Boards Arduino 101 (mit Intel Curie Modul, welches x86 und Synopsys ARC EM Kerne enthält), Arduino Due (Atmel SAM3X8E Arm Cortex-M3 CPU), Intel Galileo, Intel Galileo Gen 2 sowie das NXP FRDM-K64F Freedom board (Kinetis K64F Arm Cortex-M4 MCU).
Als Vernetzungsmöglichkeit kann auf Bluetooth, Bluetooth Low Energy (LE) und IEEE 802.15.4 zurückgriffen werden.[6][7][8]