RIOT (system operacyjny)

Z Wikipedii, wolnej encyklopedii
RIOT
Logo RIOT
Logo programu
Architektura

TI MSP430, ARM7, ARM Cortex-M0-M0+-M3-M4, Atmel AVR, MIPS32r2, RISC-V

Aktualna wersja

2022.04
(9 maja 2022) [±]

Jądro

mikrojądro

Licencja

LGPLv2

Strona internetowa

RIOT (pełna nazwa: Real time operating system for Internet Of Things[1]) – nieduży wbudowany system operacyjny przeznaczony dla połączonych i pamięciowo ograniczonych systemów, przeznaczony głównie do bezprzewodowych urządzeń internetu rzeczy (IoT) o niskim zużyciu energii. System jest oprogramowaniem o otwartym kodzie źródłowym, który opublikowano na licencji GNU LGPL.

Historia[edytuj | edytuj kod]

Początkowo system został opracowany przez zachodnioeuropejskie uczelnie i instytucje badawcze: Wolny Uniwersytet Berliński (FU Berlin), Institut national de recherche en informatique et en automatique (INRIA) oraz Hochschule für Angewandte Wissenschaften Hamburg (HAW Hamburg). W znacznym stopniu jądro RIOT wzorcowane było na FireKernel[2]. Był rozwijany i w zamyśle twórców miał być przeznaczony dla bezprzewodowych sieci czujników[3].

Kwestie techniczne[edytuj | edytuj kod]

RIOT oparty jest na architekturze mikrojądra[4]. W przeciwieństwie do innych systemów operacyjnych o podobnie niskim zużyciu pamięci (m.in. TinyOS, Contiki), RIOT umożliwia programowanie aplikacji w językach C i C++[5]. Dostępne jest również eksperymentalne API zdefiniowane w języku Rust[6]. System ma pełne możliwości wielowątkowości oraz pracy w trybie czasu rzeczywistego[7]. SSL/TLS są obsługiwane przez popularne biblioteki, m.in. wolfSSL[8].

RIOT obsługiwany jest zarówno przez procesory o architekturze 8-bitowej (m.in. AVR Atmega)[9], 16-bitowej (np. TI MSP430), jak i 32-bitowej (np. ARM Cortex)[10]. RIOT został tak zaprojektowany, że dzięki natywnemu portowi możliwe jest jego działanie zgodnie z trybem pracy systemów Linux lub macOS, co umożliwia korzystanie ze standardowych narzędzi programistycznych i debugujących, m.in.: GNU Compiler Collection (GCC), GNU Debugger, Valgrind, Wireshark. RIOT jest częściowo zgodny z przenośnym interfejsem POSIX[9].

RIOT zapewnia zestaw wielu stosów protokołów, takich jak IPv6 i 6LoWPAN, a także standardowe protokoły, m.in. RPL, pakietów użytkownika (UDP), sterowania transmisją (TCP) oraz protokół o ograniczonej przepustowości (CoAP)[9].

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. Un système d’exploitation open source pour l’Internet des objets. opencite.fr, 2014-04-16. [dostęp 2020-10-27]. [zarchiwizowane z tego adresu (2020-10-27)]. (fr.).
  2. Angelo Ribeiro. Deploying RIOT Operating System on a Reconfigurable Internet of Things End-device. „brak (praca opublikowana niezależnie)”, 2018-10-30. DOI: 10.13140/RG.2.2.28103.65443. (ang.). 
  3. RIOT – The friendly Operating System for the Internet of Things. riot-os.org, 2013. [dostęp 2020-10-26]. [zarchiwizowane z tego adresu (2017-05-21)]. (ang.).
  4. Emmanuel Baccelli, Oliver Hahm, Mesut G Günes, Matthias Wählisch, Thomas C. Schmidt: RIOT OS: Towards an OS for the Internet of Things. hal.inria.fr, 11 Feb 2014. s. 2 (PDF: 3). [dostęp 2020-10-26]. [zarchiwizowane z tego adresu (2018-09-14)]. (ang.).
  5. Hayder Al-Kashoash: Congestion Control for 6LoWPAN Wireless Sensor Networks: Toward the Internet of Things. Cham: Springer Nature, 2019, s. 27, seria: Springer Theses: Recognizing Outstanding Ph.D. Research. ISBN 978-3-030-17731-7.
  6. Christian Amsüss: Rust support for RIOT · Issue #9799 · RIOT-OS/RIOT · GitHub. github.com, 2020-03-26. [dostęp 2020-10-27]. [zarchiwizowane z tego adresu (2020-10-27)]. (ang.).
  7. Emmanuel Baccelli, Oliver Hahm, Mesut Günes, Matthias Wählisch, Thomas C. Schmidt. RIOT OS: Towards an OS for the internet of things. „Proceedings: IEEE INFOCOM”, 2013-04. Institute of Electrical and Electronics Engineers. DOI: 10.1109/INFCOMW.2013.6970748. ISSN 0743-166X. (ang.). 
  8. Kaleb Himes: wolfSSL Alpha examples by kaleb-himes · Pull Request #6197 · RIOT-OS/RIOT · GitHub. github.com, 2016-12-10. [dostęp 2020-10-27]. [zarchiwizowane z tego adresu (2020-10-27)]. (ang.).
  9. a b c Simone Cirani, Gianluigi Ferrari, Marco Picone, Luca Veltri: Internet of Things: Architectures, Protocols and Standards. John Wiley & Sons, 2018, s. 324. ISBN 978-1-119-35968-5.
  10. François Gauthier: Avec Riot, l’Internet des objets tient son OS temps réel open source. lembarque.com, 2014-04-09. [dostęp 2020-10-27]. [zarchiwizowane z tego adresu (2014-07-02)]. (fr.).

Linki zewnętrzne[edytuj | edytuj kod]