Zephyr ( / ˈz ɛ f ə r / ) es un pequeño sistema operativo en tiempo real (RTOS) [7] para dispositivos conectados, con recursos limitados e integrados (con énfasis en microcontroladores ) que admite múltiples arquitecturas y se lanzó bajo la Licencia Apache 2.0. Zephyr incluye un núcleo y todos los componentes y bibliotecas , controladores de dispositivos , pilas de protocolos , sistemas de archivos y actualizaciones de firmware necesarios para desarrollar un software de aplicación completo . [8]
Recibe su nombre de Céfiro , el antiguo dios griego del viento del oeste. [9]
Zephyr se originó a partir de Virtuoso RTOS para procesadores de señales digitales (DSP). [10] [11] En 2001, Wind River Systems adquirió la empresa de software belga Eonic Systems, el desarrollador de Virtuoso. En noviembre de 2015, Wind River Systems renombró el sistema operativo a Rocket , lo hizo de código abierto y libre de regalías. [11] En comparación con otro RTOS de Wind River, VxWorks , Rocket tenía necesidades de memoria mucho menores, especialmente adecuado para sensores y dispositivos integrados de función única. Rocket podía caber en tan solo 4 KB de memoria, mientras que VxWorks necesitaba 200 KB o más. [11]
En febrero de 2016, Rocket se convirtió en un proyecto colaborativo alojado de la Linux Foundation bajo el nombre de Zephyr . [10] [12] [1] Wind River Systems contribuyó con el núcleo Rocket a Zephyr, pero aún así proporcionó Rocket a sus clientes, cobrándoles por los servicios en la nube. [13] [11] Como resultado, Rocket se convirtió en "esencialmente la versión comercial de Zephyr". [13]
Desde entonces, los primeros miembros y partidarios de Zephyr incluyen a Intel , NXP Semiconductors , Synopsys , Linaro , [14] Texas Instruments , DeviceTone, Nordic Semiconductor , Oticon y Bose . [15]
En enero de 2022 [actualizar], Zephyr tenía la mayor cantidad de colaboradores y confirmaciones en comparación con otros RTOS (incluidos Mbed , RT-Thread , NuttX y RIOT ). [16]
Zephyr pretende proporcionar todos los componentes necesarios para desarrollar aplicaciones integradas o basadas en microcontroladores y con recursos limitados. Esto incluye, entre otros: [8]
Zephyr utiliza Kconfig y devicetree como sus sistemas de configuración, heredados del kernel de Linux pero implementados en el lenguaje de programación Python para portabilidad a sistemas operativos que no sean Unix . [17] El sistema de compilación RTOS se basa en CMake , que permite que las aplicaciones Zephyr se compilen en Linux , macOS y Microsoft Windows . [18]
Zephyr tiene una herramienta de propósito general llamada "west" para administrar repositorios, descargar programas al hardware, etc.
Los primeros núcleos Zephyr usaban un diseño dual de nanokernel más microkernel . [4] [5] [6] En diciembre de 2016, con Zephyr 1.6, esto cambió a un núcleo monolítico . [5] [6]
El kernel ofrece varias características que lo distinguen de otros sistemas operativos pequeños: [8]
Un grupo se dedica a mantener y mejorar la seguridad. [19] Además, ser propiedad de una comunidad y contar con el apoyo de esta significa que los desarrolladores de código abierto del mundo están examinando el código, lo que aumenta significativamente la seguridad. [12]