RIOT(ライオット)とは、IoT向けのリアルタイムマルチスレッドオペレーティングシステムです。
RIOTは、オープンソースのマイクロカーネルベースのオペレーティングシステムで、IoTデバイスや組み込みデバイスの要件に合わせて設計されています。
これらの要件には、「非常に小さなメモリフットプリント(数キロバイト程度)」「高いエネルギー効率」「リアルタイム機能」「ワイヤレスネットワークとワイヤードネットワークの両方の通信スタック」「広範囲の低電力ハードウェアサポート」などが含まれます。
RIOTは2013年に初版が公開されました。
世界中の「開発コミュニティ」「企業」「学界」などによって開発されており、「セキュア」「耐久性」「プライバシー」に配慮したIoTをサポートするオープンスタンダードの実装を目指しています。
→RIOT(RIOT - The friendly Operating System for the Internet of Things)
RIOTのライセンスは「GNU Lesser General Public License v2.1」です。
詳細について、こちらを参照ください。
→GitHub →RIOT-OS/RIOT →LICENSE
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Ubuntu Core」「Zephyr」など。
RIOTは、「gcc」「gdb」「valgrind」などの標準開発ツールを使用して、C言語またはC++言語での標準プログラミングが可能です。
特殊な開発手法は必要ないため、これらのプログラミング言語を習得している開発者の場合、組込みプログラミングであっても低い学習コストで開発をスタートできます。
RIOTは以下のユーティリティを提供します。
・マイクロカーネル
・複数のネットワークスタック
・暗号ライブラリ
・データ構造---ブルームフィルタ、ハッシュテーブル、プライオリティキュー
・シェル など
RIOTは一貫したAPIを提供し「マルチスレッド」「IPC」「システムタイマー」「ミューテックス」などを利用するCおよびC++アプリケーションプログラミングを可能にします。
ネイティブポートを使用してLinuxまたはmacOSで開発し、組み込みデバイスにデプロイできます。
また、一度コーディングすれば各種環境で実行できます。
・8ビットプラットフォーム---Arduino Mega 2560
・16ビットプラットフォーム---MSP430
・32ビットプラットフォーム---ARM など
RIOTは、ほとんどの低電力IoTデバイスとマイクロコントローラアーキテクチャ(32/16/8ビット)をサポートしています。
ハードウェアに依存するコードは最小限に抑えられ、カーネル自体から抽象化されます。
RIOTはマイクロカーネルアーキテクチャに基づいており、次のような機能を備えています。
・優先順位のあるプリエンプティブティックレススケジューラ機能
・柔軟なメモリ管理機能
・長期タイマー機能
・Linux上でのRIOT実行機能---ネイティブポートを使用
・複数RIOTインスタンスの相互接続機能
・IPv6対応
・各種通信規格サポート など
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
OSS×Cloud ACCESS RANKING