RIOT (операционная система)
RIOT — это небольшая операционная система для сетевых систем с ограниченным объемом памяти, ориентированная на маломощные устройства беспроводного Интернета вещей (IoT). Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией GNU Lesser General Public License (LGPL).
Предыстория[edit | edit source]
Первоначально ОС была разработана Свободным университетом Берлина (FU Berlin), Французским институтом исследований в области компьютерных наук и автоматизации (INRIA) и Гамбургским университетом прикладных наук (HAW Hamburg). Ядро RIOT по большей части унаследовано от FireKernel[1], проекта, который изначально был разработан для сенсорных сетей. В 2015 году один из соавторов, Маттиас Валиш, был удостоен премии Young Scientist Award, присуждаемой организацией Forum for Excellent Young Scientists за вклад его команды в операционную систему с открытым исходным кодом RIOT[2].
Технические особенности[edit | edit source]
RIOT основан на микроядерной архитектуре[3].
В отличие от других операционных систем со столь же низким использованием памяти (таких как TinyOS или Contiki), RIOT позволяет разрабатывать прикладное программное обеспечение с использованием языков программирования C, C++ и Rust, поддержка которого находится в экспериментальном статусе[4][5].
ОС обладает полной многопоточностью и возможностями работы в реальном времени[6]. Secure Sockets Layer (SSL) и его преемник Transport Layer Security (TLS) поддерживаются популярными библиотеками, такими как wolfSSL[7].
RIOT работает на 8-битных процессорах (например, AVR Atmega), 16-битных (например, TI MSP430) и 32-битных процессорах (например, ARM Cortex[8]).
Существует также портированная версия, RIOT, которая может работать как процесс Linux или macOS, позволяя использовать стандартные инструменты разработки и отладки, такие как GNU Compiler Collection (GCC), GNU Debugger, Valgrind, Wireshark и т. д. RIOT частично соответствует стандарту переносимой операционной системы (POSIX).
RIOT предоставляет несколько сетевых стеков, включая IPv6, 6LoWPAN[9], стандартные сетевые протоколы, такие как RPL[10], UDP, TCP, и CoAP, а также парадигму сontent centric networking.
Поддерживаемые платформы[edit | edit source]
- TI MSP430
- ARM7
- ARM Cortex-M включая ARM Cortex-M0, ARM Cortex-M3, ARM Cortex-M4
- Atmel AVR
- Atmel SAM
- MIPS32r2
- RISC-V
и ряд других.
Прочие подробности[edit | edit source]
- Официальный сайт
- Репозиторий на Github
- Лицензия - LGPLv2
- Дата первого релиза - 23.10.2009
- Дата последнего релиза - 9.05.2022 (релиз 04.2022).
Ссылки[edit | edit source]
- Бунтарская операционная система
- RIOT OS. Установка и настройка минимального рабочего окружения
- Программирование современных микроконтроллеров: лекция 1
Примечания[edit | edit source]
- ↑ Will, Heiko. A Real-Time Kernel for Wireless Sensor Networks Employed in Rescue Scenarios // Proceedings of the IEEE 34th Conference on Local Computer Networks (LCN) / Heiko Will, Kaspar Schleiser, Jochen Schiller. — Institute of Electrical and Electronics Engineers (IEEE), October 2009. — P. 834–841. — ISBN 978-1-4244-4488-5. — doi:10.1109/LCN.2009.5355049.
- ↑ [1]
- ↑ Baccelli, Emmanuel. RIOT OS: Towards an OS for the Internet of Things // Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM) / Emmanuel Baccelli, Oliver Hahm, Mesut Günes … [и др.]. — Institute of Electrical and Electronics Engineers (IEEE), 15 April 2013.
- ↑ [2]
- ↑ [3]
- ↑ "Betriebssysteme für eingebettete Systeme im Internet der Dinge: Freie Fahrt für Experimentierfreudige". iX Developer Magazine, Special Issue on Embedded Software. Heise.de. 2014-02-14. Дата обращения: 18 мая 2014.
- ↑ [4]
- ↑ [5]
- ↑ Hahm, Oliver. Demonstration abstract: Simply RIOT: Teaching and Experimental Research in the Internet of Things // Proceedings of the 13th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN) / Oliver Hahm, Emmanuel Baccelli, Hauke Petersen … [и др.]. — Association for Computing Machinery (ACM), 15 April 2014. — P. 329–330. — ISBN 9781479931460.
- ↑ Brandt, A.; Hui, J.; Kelsey, R.; Levis, P.; Pister, K.; Struik, R.; Vasseur, J. P.; Alexander, R. (2012-03-01). Winter, T.; Thubert, P. (eds.). "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks". IETF Request For Comments 6550. Internet Engineering Task Force (IETF). ISSN 2070-1721. Дата обращения: 18 мая 2014.