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

м
 
(не показано 12 промежуточных версий 1 участника)
Строка 4: Строка 4:
  
 
== Предыстория ==
 
== Предыстория ==
Первоначально ОС была разработана Свободным университетом Берлина (FU Berlin), Французским институтом исследований в области компьютерных наук и автоматизации (INRIA) и Гамбургским университетом прикладных наук (HAW Hamburg). Ядро RIOT по большей части унаследовано от FireKernel, который изначально был разработан для [[Беспроводные сенсорные сети|сенсорных сетей]]. В 2015 году один из соавторов, [[Маттиас Валиш]], был удостоен премии [[Young Scientist Award]], присуждаемой организацией [[Forum for Excellent Young Scientists]] за вклад его команды в операционную систему с открытым исходным кодом RIOT.
+
Первоначально ОС была разработана Свободным университетом Берлина (FU Berlin), Французским институтом исследований в области компьютерных наук и автоматизации (INRIA) и Гамбургским университетом прикладных наук (HAW Hamburg). Ядро RIOT по большей части унаследовано от FireKernel<ref>{{cite book|last1=Will|first1=Heiko|last2=Schleiser|first2=Kaspar|last3=Schiller|first3=Jochen|date=October 2009<!--2013-10-20-->|chapter=A Real-Time Kernel for Wireless Sensor Networks Employed in Rescue Scenarios|title=Proceedings of the IEEE 34th Conference on Local Computer Networks (LCN)|pages=834–841|publisher=[[Institute of Electrical and Electronics Engineers]] (IEEE)|doi=10.1109/LCN.2009.5355049|isbn=978-1-4244-4488-5|s2cid=14806932}}</ref>, проекта, который изначально был разработан для [[Беспроводные сенсорные сети|сенсорных сетей]]. В 2015 году один из соавторов, [[Маттиас Валиш]], был удостоен премии [[Young Scientist Award]], присуждаемой организацией [[Forum for Excellent Young Scientists]] за вклад его команды в операционную систему с открытым исходным кодом RIOT<ref>[https://www.mi.fu-berlin.de/inf/groups/ag-tech/news/Matthias-Waehlisch-awarded.html]</ref>.
  
 
== Технические особенности ==
 
== Технические особенности ==
RIOT основан на микроядерной архитектуре  
+
RIOT основан на микроядерной архитектуре<ref>{{cite book|last1=Baccelli|first1=Emmanuel|last2=Hahm|first2=Oliver|last3=Günes|first3=Mesut|last4=Wählisch|first4=Matthias|last5=Schmidt|first5=Thomas|date=15 April 2013|url=http://hal.inria.fr/docs/00/94/51/22/PDF/2013-riot_os.pdf|chapter=RIOT OS: Towards an OS for the Internet of Things|title=Proceedings of the 32nd IEEE International Conference on Computer Communications (INFOCOM)|publisher=[[Institute of Electrical and Electronics Engineers]] (IEEE)|access-date=2014-05-18}}</ref>.
  
В отличие от других операционных систем со столь же низким использованием памяти (таких как [[TinyOS]] или [[Contiki]]), RIOT позволяет разрабатывать прикладное программное обеспечение с использованием языков программирования [[C]], [[C++]] и [[Rust]], поддержка которого находится в экспериментальном статусе.  
+
В отличие от других операционных систем со столь же низким использованием памяти (таких как [[TinyOS]] или [[Contiki]]), RIOT позволяет разрабатывать прикладное программное обеспечение с использованием языков программирования [[C]], [[C++]] и [[Rust]], поддержка которого находится в экспериментальном статусе<ref>[https://summit.riot-os.org/2020/wp-content/uploads/sites/15/2020/09/s4-2-Lup-Yuen-Lee.pdf]</ref><ref>[https://github.com/RIOT-OS/RIOT/issues/9799|issue=9799]</ref>.  
  
ОС обладает полной многопоточностью и возможностями работы в реальном времени.  [[Secure Sockets Layer]] (SSL) и его преемник [[Transport Layer Security]] (TLS) поддерживаются популярными библиотеками, такими как [[wolfSSL]].  
+
ОС обладает полной многопоточностью и возможностями работы в реальном времени<ref>{{cite news|title=Betriebssysteme für eingebettete Systeme im Internet der Dinge: Freie Fahrt für Experimentierfreudige|url=http://www.heise.de/developer/meldung/Sonderheft-iX-Developer-Embedded-Software-am-Kiosk-erhaeltlich-2112409.html|work=iX Developer Magazine, Special Issue on Embedded Software|publisher=Heise.de|date=2014-02-14|access-date=2014-05-18}}</ref>.  [[Secure Sockets Layer]] (SSL) и его преемник [[Transport Layer Security]] (TLS) поддерживаются популярными библиотеками, такими как [[wolfSSL]]<ref>[https://github.com/RIOT-OS/RIOT/pull/6197]</ref>.  
  
RIOT работает на [[8-битные процессоры|8-битных процессорах]] (например, [[AVR Atmega]]), [[16-битные процессоры|16-битных]] (например, [[TI MSP430]]) и [[32-битные процессоры|32-битных процессорах]] (например, [[ARM Cortex]]).  
+
RIOT работает на [[8-битные процессоры|8-битных процессорах]] (например, [[AVR Atmega]]), [[16-битные процессоры|16-битных]] (например, [[TI MSP430]]) и [[32-битные процессоры|32-битных процессорах]] (например, [[ARM Cortex]]<ref>[http://www.lembarque.com/avec-riot-linternet-des-objets-tient-son-os-temps-reel-open-source_001920]</ref>).  
  
 
Существует также портированная версия, 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]], стандартные сетевые протоколы, такие как [[RPL]], [[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]].
  
* Поддерживаемые платформы
+
== Поддерживаемые платформы ==
 
* [[TI MSP430]]
 
* [[TI MSP430]]
 
* [[ARM7]]  
 
* [[ARM7]]  
 
* [[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]]
  
и множество других.
+
и ряд других.
  
 
== Прочие подробности ==
 
== Прочие подробности ==
Строка 36: Строка 37:
 
* Дата первого релиза - 23.10.2009
 
* Дата первого релиза - 23.10.2009
 
* Дата последнего релиза - 9.05.2022 (релиз 04.2022).
 
* Дата последнего релиза - 9.05.2022 (релиз 04.2022).
 +
 +
== Ссылки ==
 +
 +
* [https://habr.com/ru/articles/379615/ Бунтарская операционная система]
 +
* [https://blog.radiotech.kz/stm32/riot-os-ustanovka-i-nastrojka-minimalnogo-rabochego-okruzheniya/ RIOT OS. Установка и настройка минимального рабочего окружения]
 +
* [https://habr.com/ru/companies/samsung/articles/411143/ Программирование современных микроконтроллеров: лекция 1]
 +
 +
== Примечания ==
 
[[Категория:Операционные системы реального времени]]
 
[[Категория:Операционные системы реального времени]]
[[Категория:Свободное ПО]]
+
[[Категория:Свободное программное обеспечение]]

Текущая версия от 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.