RIOT (pełna nazwa: Real Time Operating System for Internet of Things) – 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 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. Był rozwijany i w zamyśle twórców miał być przeznaczony dla bezprzewodowych sieci czujników.
Kwestie techniczne RIOT oparty jest na architekturze mikrojądra. 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++. Dostępne jest również eksperymentalne API zdefiniowane w języku Rust. System ma pełne możliwości wielowątkowości oraz pracy w trybie czasu rzeczywistego. SSL/TLS są obsługiwane przez popularne biblioteki, m.in. wolfSSL.
RIOT obsługiwany jest zarówno przez procesory o architekturze 8-bitowej (m.in. AVR Atmega), 16-bitowej (np. TI MSP430), jak i 32-bitowej (np. ARM Cortex). 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.
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).
Zobacz też FreeRTOS
Przypisy
Linki zewnętrzne oficjalna strona systemu RIOT
Kategoria:Sieci bezprzewodowe Kategoria:Architektura ARM Kategoria:Wbudowane systemy operacyjne Kategoria:Systemy operacyjne oparte na wolnym oprogramowaniu Kategoria:Internet rzeczy Kategoria:Jądro systemu operacyjnego Kategoria:Systemy operacyjne czasu rzeczywistego