В то время, когда одна небольшая компания открыла для себя Linux в роли ОС для интернета вещей, другие ребятки создали «самую маленькую ОС для интернета вещей». Она требует лишь 10кб памяти — и вроде пора праздновать, однако…

Однако, со званием «The world's lightest open IoT OS» разработчики LiteOS поспешили.

Конечно, система вышла легче, чем Linux с его требованиями примерно по мегабайту в флэш и оперативной памяти, даже легче, чем Contiki OS (ядро которой занимает от 30кб), но все-таки 10кб, это не 4кб, которые требуются для TinyOS, и не 5кб для RIOT (на последней и остановимся).

Что же мы получаем с операционной системой в 5кб? Модульную операционную систему реального времени, POSIX-образное API с возможностью писать на C и C++, многозадачность, возможность запустить ее на процессорах без MMU.

Достаточно широкий список поддерживаемых платформ: MSP430, ARM7, Cortex-M0, Cortex-M3, Cortex-M4 и x86. А так же, возможность запускать операционную систему, как процесс в UNIX-системе, что облегчает разработку и отладку своего ПО под эту операционную систему.

В операционной системе уже есть драйвера под некое количество железа среди которых есть и различные сенсоры окружающей среды, и радиомодули, и ультразвуковой датчик расстояния, и сервопривода. Есть поддержка таких сетевых технологий, как AODVv2, 6LoWPAN, RPL, сжатие заголовков TCP для 6LoWPAN, CCN-Lite, OpenWSN, CoAP, CBOR и UBJSON.

image

Операционная система RIOT эффективна с точки зрения энергопотребления и в ней применен эффективный планировщик, который старается минимизировать переключения контекстов. Ее микроядро основано на FireKernel[H. Will, K. Schleiser, and J. H. Schiller, “A real-time kernel for wireless sensor networks employed in rescue scenarios,” in IEEE LCN, 2009], но в дополнение к нему мы получаем еще и C++ API с поддержкой библиотеки WiseLib, которая предоставляет нам TCP-стек. Архитектура системы такова, что ошибка в одном из модулей не «рушит» всю систему, тем самым мы получаем бОльшую надежность общей системы. И это все при минимальных требованиях к железу.

Сама операционная система распространяется по лицензии LGPL, что дает вам право использовать ее, практически в любых приложениях.

Ну, и небольшое видео, где демонстрируют решение для умного дома на базе RIOT.

Комментарии (7)