RIOT (операционная система)
![]() |
Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её. |
RIOT — это небольшая операционная система для сетевых систем с ограниченным объемом памяти, ориентированная на маломощные устройства беспроводного Интернета вещей (IoT). Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией GNU Lesser General Public License (LGPL).
Предыстория
Первоначально ОС была разработана Свободным университетом Берлина (FU Berlin), Французским институтом исследований в области компьютерных наук и автоматизации (INRIA) и Гамбургским университетом прикладных наук (HAW Hamburg). Ядро RIOT по большей части унаследовано от FireKernel, который изначально был разработан для сенсорных сетей. В 2015 году один из соавторов, Маттиас Валиш, был удостоен премии Young Scientist Award, присуждаемой организацией Forum for Excellent Young Scientists за вклад его команды в операционную систему с открытым исходным кодом RIOT.
Технические особенности
RIOT основан на микроядерной архитектуре
В отличие от других операционных систем со столь же низким использованием памяти (таких как TinyOS или Contiki), RIOT позволяет разрабатывать прикладное программное обеспечение с использованием языков программирования C, C++ и Rust, поддержка которого находится в экспериментальном статусе.
ОС обладает полной многопоточностью и возможностями работы в реальном времени. Secure Sockets Layer (SSL) и его преемник Transport Layer Security (TLS) поддерживаются популярными библиотеками, такими как wolfSSL.
RIOT работает на 8-битных процессорах (например, AVR Atmega), 16-битных (например, TI MSP430) и 32-битных процессорах (например, ARM Cortex).
Существует также портированная версия, RIOT, которая может работать как процесс Linux или macOS, позволяя использовать стандартные инструменты разработки и отладки, такие как GNU Compiler Collection (GCC), GNU Debugger, Valgrind, Wireshark и т. д. RIOT частично соответствует стандарту переносимой операционной системы (POSIX).
RIOT предоставляет несколько сетевых стеков, включая IPv6, 6LoWPAN...