RIOT (операционная система): различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
м
 
(не показана 1 промежуточная версия 1 участника)
Строка 17: Строка 17:
 
Существует также портированная версия, RIOT, которая может работать как процесс [[Linux]] или [[macOS]], позволяя использовать стандартные инструменты разработки и отладки, такие как [[GNU Compiler Collection]] (GCC), [[GNU Debugger]], [[Valgrind]], [[Wireshark]] и т. д. RIOT частично соответствует стандарту переносимой операционной системы ([[POSIX]]).  
 
Существует также портированная версия, RIOT, которая может работать как процесс [[Linux]] или [[macOS]], позволяя использовать стандартные инструменты разработки и отладки, такие как [[GNU Compiler Collection]] (GCC), [[GNU Debugger]], [[Valgrind]], [[Wireshark]] и т. д. RIOT частично соответствует стандарту переносимой операционной системы ([[POSIX]]).  
  
RIOT предоставляет несколько сетевых стеков, включая [[IPv6]], [[6LoWPAN]]<ref>{{cite book|last1=Hahm|date=15 April 2014|isbn=9781479931460|pages=329–330|publisher=[[Association for Computing Machinery]] (ACM)|title=Proceedings of the 13th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN)|chapter=Demonstration abstract: Simply RIOT: Teaching and Experimental Research in the Internet of Things|url=http://dl.acm.org/citation.cfm?id=2602399|first5=Thomas C.|first1=Oliver|last5=Schmidt|first4=Matthias|last4=Wählisch|first3=Hauke|last3=Petersen|first2=Emmanuel|last2=Baccelli|access-date=2014-05-18}}</ref>, стандартные сетевые протоколы, такие как [[RPL]]<ref>{{cite news|title=RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks|last2=Hui|first2=J.|url=https://tools.ietf.org/html/rfc6550|work=IETF Request For Comments 6550|publisher=Internet Engineering Task Force (IETF)|date=2012-03-01|access-date=2014-05-18|first8=R.|issn=2070-1721|editor2-first=P.|editor2-last=Thubert|editor1-first=T.|editor1-last=Winter|last1=Brandt|last8=Alexander|first1=A.|last7=Vasseur|first6=R.|last6=Struik|first5=K.|last5=Pister|first4=P.|last4=Levis|first3=R.|last3=Kelsey|first7=J. P.}}</ref>, [[UDP]], [[TCP]], и [[CoAP]], а также парадигму [[сontent centric networking]].
+
RIOT предоставляет несколько сетевых стеков, включая [[IPv6]], [[6LoWPAN]]<ref>{{cite book|last1=Hahm|date=15 April 2014|isbn=9781479931460|pages=329–330|publisher=[[Association for Computing Machinery]] (ACM)|title=Proceedings of the 13th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN)|chapter=Demonstration abstract: Simply RIOT: Teaching and Experimental Research in the Internet of Things|url=http://dl.acm.org/citation.cfm?id=2602399|first5=Thomas C.|first1=Oliver|last5=Schmidt|first4=Matthias|last4=Wählisch|first3=Hauke|last3=Petersen|first2=Emmanuel|last2=Baccelli|access-date=2014-05-18}}</ref>, стандартные сетевые протоколы, такие как [[RPL]]<ref>{{cite news|title=RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks|last2=Hui|first2=J.|url=https://tools.ietf.org/html/rfc6550|work=IETF Request For Comments 6550|publisher=Internet Engineering Task Force ([[IETF]])|date=2012-03-01|access-date=2014-05-18|first8=R.|issn=2070-1721|editor2-first=P.|editor2-last=Thubert|editor1-first=T.|editor1-last=Winter|last1=Brandt|last8=Alexander|first1=A.|last7=Vasseur|first6=R.|last6=Struik|first5=K.|last5=Pister|first4=P.|last4=Levis|first3=R.|last3=Kelsey|first7=J. P.}}</ref>, [[UDP]], [[TCP]], и [[CoAP]], а также парадигму [[сontent centric networking]].
  
 
== Поддерживаемые платформы ==
 
== Поддерживаемые платформы ==
Строка 24: Строка 24:
 
* [[ARM Cortex-M]] включая [[ARM Cortex-M0]], [[ARM Cortex-M3]], [[ARM Cortex-M4]]
 
* [[ARM Cortex-M]] включая [[ARM Cortex-M0]], [[ARM Cortex-M3]], [[ARM Cortex-M4]]
 
* [[Atmel AVR]]
 
* [[Atmel AVR]]
 +
* [[Atmel SAM]]
 
* [[MIPS32r2]]  
 
* [[MIPS32r2]]  
 
* [[RISC-V]]
 
* [[RISC-V]]

Текущая версия от 00:06, 14 июля 2024

Официальное лого ОС 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.