RIOT (операционная система)
RIOT — небольшая операционная система для сетевых устройств с ограниченным объёмом памяти, ориентированная на энергетически эффективные беспроводные решения для Интернета вещей (IoT). Распространяется как свободное программное обеспечение под лицензией LGPL.
Общие сведения
| RIOT | |
|---|---|
| Разработчик |
Свободный университет Берлина Национальный институт исследований в области информатики и автоматизации Гамбургский университет прикладных наук |
| Семейство ОС | POSIX |
| Исходный код | свободный |
| Первый выпуск | 23 октября 2009 |
| Последняя версия | |
| Поддерживаемые языки | английский |
| Поддерживаемые платформы | TI MSP430, ARM7, ARM Cortex-M0/М0+/М3/М4, Atmel AVR, MIPS32r2, RISC-V |
| Тип ядра | микроядро, реального времени |
| Лицензия | LGPLv2 |
| Состояние | активное |
| Репозиторий исходного кода | github.com/RIOT-OS/RIOT |
| Предыдущая | FireKernel |
| Веб-сайт | riot-os.org |
История
Первоначально разработка RIOT велась Свободным университетом Берлина (FU Berlin), Национальным институтом исследований в области информатики и автоматизации (INRIA) и Гамбургским университетом прикладных наук (HAW Hamburg). Ядро системы в значительной степени унаследовано от FireKernel[2], которое изначально создавалось для сенсорных сетей. В 2015 году один из соразработчиков, Маттиас Вэльшиш, был удостоен премии Young Scientist Award форума для выдающихся молодых учёных за вклад его команды в развитие свободной ОС RIOT[3]. В 2016 году приз ED STIC Doctoral Prize 2017 парижского Университета Париж-Сакле получил другой сооснователь проекта, Оливер Хам, за вклад в RIOT[4].
Архитектура и компоненты
RIOT базируется на микроядерной архитектуре[5]. В отличие от других ОС с сопоставимыми низкими требованиями к памяти (например, TinyOS или Contiki), RIOT поддерживает программирование прикладного ПО на C, C++ и Rust[6], а также с помощью экспериментального интерфейса программирования приложений (API)[7]. В системе реализованы полноценная многопоточность и возможности работы в режиме реального времени[8]. Для работы с криптографическими протоколами SSL и TLS поддерживаются популярные сторонние библиотеки, такие как wolfSSL[9].
RIOT может работать на процессорах с 8 битами (например, AVR Atmega), 16 битами (TI MSP430) и 32 битами (ARM Cortex)[10]. Также возможен нативный порт, позволяющий запускать RIOT как процесс на Linux или macOS и использовать стандартные средства разработки и отладки вроде GCC, GNU Debugger, Valgrind, Wireshark и др. Частично соблюдается совместимость с POSIX.
Интерфейс и программное обеспечение
Пакетная база и обновления
Поддержка аппаратных платформ
Выпуски
| Версия | Дата | Ветка/статус | Примечания |
|---|---|---|---|
| 2024.10 | 29 ноября 2024 | стабильная | [13] |
Безопасность
Для защиты трафика используются сторонние криптобиблиотеки (например, wolfSSL), обеспечивающие работу с SSL/TLS.