RIOT (операционная система)

Материал из in.wiki
(перенаправлено с «RIOT»)
Перейти к навигации Перейти к поиску
Официальное лого ОС Riot

RIOT — это небольшая операционная система для сетевых систем с ограниченным объемом памяти, ориентированная на маломощные устройства беспроводного Интернета вещей (IoT). Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией GNU Lesser General Public License (LGPL).

Предыстория[править | править код]

Первоначально ОС была разработана Свободным университетом Берлина (FU Berlin), Французским институтом исследований в области компьютерных наук и автоматизации (INRIA) и Гамбургским университетом прикладных наук (HAW Hamburg). Ядро RIOT по большей части унаследовано от FireKernel[1], проекта, который изначально был разработан для сенсорных сетей. В 2015 году один из соавторов, Маттиас Валиш, был удостоен премии Young Scientist Award, присуждаемой организацией Forum for Excellent Young Scientists за вклад его команды в операционную систему с открытым исходным кодом RIOT[2].

Технические особенности[править | править код]

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.

Поддерживаемые платформы[править | править код]

и ряд других.

Прочие подробности[править | править код]

Ссылки[править | править код]

Примечания[править | править код]

  1. 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.
  2. [1]
  3. 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.
  4. [2]
  5. [3]
  6. "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.
  7. [4]
  8. [5]
  9. 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.
  10. 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.