Een van de grootste succesverhalen in de opensourcewereld is de Linux-kernel. Maar wat als je een besturingssysteem wilt draaien op apparaten met heel wat beperkingen? Zephyr is stevig aan de weg aan het timmeren om de ‘Linux’ voor deze apparaten te worden.
Zephyr is een opensource realtime besturingssysteem (rtos) voor ‘connected resource-constrained devices’. Denk daarbij bijvoorbeeld aan iot-sensoren, bluetooth-trackers en hartslagmeters. Dankzij een hardware-abstractielaag ondersteunt Zephyr honderden ontwikkelbordjes en het besturingssysteem heeft protocollen zoals Bluetooth Low Energy, Thread, CAN, 6LoWPAN en CoAP ingebouwd.
Heel wat iot-apparaten zijn voorzien van Linux als besturingssysteem, maar dat heeft minimumeisen. Voor Arm-processoren heb je bijvoorbeeld al minstens een Cortex-A nodig. Voor meer gelimiteerde chips zoals een Cortex-M is een realtime besturingssysteem zoals Zephyr beter geschikt. Een typisch apparaat waarop Zephyr draait heeft een microcontroller met een klokfrequentie lager dan 100MHz, zonder memory management unit (mmu) en met 32 tot 256KB statisch ram en 512KB of minder on-chip nor-flashgeheugen.
Er is een heel gamma aan realtime besturingssystemen die zich op dit soort apparaten richten. FreeRTOS is met zijn ondersteuning voor veertig architecturen een populaire optie. Sinds 2017 vindt de ontwikkeling plaats door het Amazon Web Services-team. Het is echter een basic kernel zonder drivers, bestandssystemen, netwerkstacks enzovoort. Een andere populaire optie is Mbed OS van Arm, maar dit ondersteunt alleen 32-bits Arm Cortex-M-microcontrollers. Ook interessant is Apache Mynewt. De mogelijkheden hiervan lijken nog het meeste op die van Zephyr, maar Mynewt ondersteunt minder ontwikkelbordjes.
Het grootste deel van de code van Zephyr valt onder de Apache 2.0-licentie, met uitzondering van drivers van Nordic Semiconductor en NXP Semiconductors, die de BSD-Clause-3-licentie gebruiken. Sommige build tools vallen onder de GPLv2. Door de vrij permissieve licentie(s) is firmware op basis van Zephyr ook commercieel zonder licentiekosten te gebruiken, al zullen veel bedrijven supportcontracten met hardwarefabrikanten aangaan. Net zoals Linux heeft Zephyr een open, collaboratief ontwikkelingsmodel waarbij zelfs concurrerende bedrijven met elkaar samenwerken.
/i/2004908512.png?f=imagenormal)
Afbeelding: Getty Images/ DKosig