RIOTは、ネットワーク接続されたメモリ制約のあるシステム向けの小型オペレーティングシステムで、低消費電力の無線IoT(モノのインターネット)デバイスに重点を置いています。オープンソースソフトウェアであり、 GNU Lesser General Public License(LGPL)の下でリリースされています。
RIOTは当初、ベルリン自由大学(FU Berlin)、フランス国立情報学研究所(INRIA)、ハンブルク応用科学大学(HAW Hamburg)によって開発されました。RIOTのカーネルは、元々センサーネットワーク向けに開発されたFireKernel [ 2 ]を大部分継承しています。2015年、共同開発者の1人であるMatthias Wählischは、オープンソースオペレーティングシステムRIOTへのチームの貢献により、優秀若手科学者フォーラムの若手科学者賞を受賞しました[ 3 ] 。2016年には、別の共同創設者であるOliver Hahmが、プロジェクトへの貢献により、パリ・サクレー大学のED STIC博士賞2017を受賞しました[ 4 ] 。
RIOT はマイクロカーネルアーキテクチャに基づいています。[ 5 ]同様にメモリ使用量が少ない他のオペレーティングシステム ( TinyOSやContikiなど)とは対照的に、RIOT はプログラミング言語CおよびC++、Rustによるアプリケーション ソフトウェアプログラミングを可能にし、[ 6 ]また実験的なアプリケーション プログラミング インターフェイス ( API ) によってもプログラミングが可能です。[ 7 ]完全なマルチスレッド機能とリアルタイム機能を備えています。[ 8 ] Secure Sockets Layer (SSL) とその後継であるTransport Layer Security (TLS) は、 wolfSSLなどの一般的なライブラリによってサポートされています。[ 9 ]
RIOT は、 8 ビット(AVR Atmega など)、16 ビット(TI MSP430 など)、および32 ビット(ARM Cortex など) のプロセッサで動作します。[ 10 ]ネイティブポートにより、RIOT をLinuxまたはmacOSプロセスとして実行することもでき、 GNU Compiler Collection (GCC)、GNU Debugger、Valgrind、Wiresharkなどの標準的な開発およびデバッグ ツールを使用できます。RIOTは、部分的に Portable Operating System Interface ( POSIX ) に準拠しています。
RIOTは、IPv6、6LoWPAN、コンテンツ中心のネットワーク、RPL、[ 12 ]ユーザーデータグラムプロトコル(UDP)、伝送制御プロトコル(TCP)、CoAPなどの標準プロトコルを含む複数のネットワークスタックを提供します。[ 11 ]
RIOTのソースコードはGitHubで公開されており、国際的なオープンソース開発者コミュニティによって開発されています。