|
モノのインターネット(IoT)の発展において、断片化は大きな問題となっています。チップ、センサー、通信プロトコル、そしてアプリケーションシナリオは多岐にわたり、断片化された環境を生み出しています。例えば、無線通信規格には、Bluetooth、Wi-Fi、ZigBee、PLC、Z-Wave、RF、Thread、Z-Wave、NFC、UWB、LiFi、NB-IoT、LoRaなど、数多く存在します。標準化された技術ソリューションの欠如と一貫性のないアーキテクチャは、IoTの発展を阻害し、相互運用性の範囲を狭めていることは明らかです。 しかし、異なるオペレーティングシステムは、サポートするハードウェア、通信規格、そしてアプリケーションシナリオが異なります。オープンソースは、技術的な障壁や障害を取り除き、相互運用性と移植性を向上させ、開発コストを削減するだけでなく、オープンソースコミュニティの開発者が参加するのにも適しています。 では、モノのインターネット (IoT) 向けのオープンソース オペレーティング システムについて、どれくらいご存知ですか?
オープンソースのオペレーティング システムとは何ですか? オープンソース・オペレーティング・システムとは、ソースコードが公開され、オープンソース・ライセンスに基づいて使用、コンパイル、再配布されるオペレーティングシステム・ソフトウェアです。これらのライセンスの下では、誰でも無料で使用でき、ソフトウェアの動作を自由に制御できます。オープンソース・オペレーティング・システムの最大の特徴は、ソースコードが公開されていることと、カスタマイズの自由度です。 国際的なオープンソースオペレーティングシステムの中で最も有名なのは「Linux」です。これは、コンピュータオペレーティングシステムの一種を指す総称です。Linuxオペレーティングシステムのカーネルも「Linux」と名付けられています。Linuxは、フリーソフトウェアとオープンソース開発の最も顕著な例でもあります。 オープンソースオペレーティングシステムの歴史は、GNUと密接に結びついています。1983年に始まったGNUプロジェクトは、ソフトウェア開発ツールや様々なアプリケーションを含む、自由で完全なUnixライクなオペレーティングシステムの開発に専念しました。1991年にLinuxカーネルがリリースされた頃には、GNUはシステムカーネルを除くすべての必須ソフトウェアの開発をほぼ完了していました。Linus Torvalds氏をはじめとする開発者の努力により、GNUコンポーネントはLinuxカーネル上で動作できるようになりました。カーネル全体はGNU一般公衆利用許諾書(GPL)に基づいていますが、Linuxカーネル自体はGNUプロジェクトの一部ではありません。1994年3月、Linuxバージョン1.0が正式にリリースされ、Marc Ewing氏がRed Hat Softwareを設立し、最も有名なLinuxディストリビューターの1つとなりました。 以下に、オープンソース オペレーティング システムの利点をいくつか示します。
10の定番IoTオペレーティングシステム 1. Androidの物 Android Thingsは、Googleが先週リリースしたばかりのモノのインターネット(IoT)向けオペレーティングシステムです。昨年リリースされた「Brillo」オペレーティングシステムのアップデート版です。Androidシステムの派生として、ウェアラブルデバイスやスマートウォッチで使用されているAndroid Wearに似ています(実は、これもIoT向けオペレーティングシステムです)。 Weaveと呼ばれる通信プロトコルを使用してデバイスをクラウドに接続し、Googleアシスタントなどのサービスと連携します。Android Thingsは、モバイル開発の経験を問わず、すべてのJava開発者向けに設計されています。このオペレーティングシステムは、Intel Edisonプラットフォーム、NXPのPicoプラットフォーム、BlackBerry Pi 3など、IoTデバイス向けの幅広いコンピューティングプラットフォームをサポートできます。 2. コンティキ Contikiは、メモリ制約のあるネットワークタスクに適した、オープンソースで移植性の高いマルチタスクオペレーティングシステムです。Contikiプロジェクトは、スウェーデンコンピュータサイエンス研究所のネットワーク組み込みシステムグループのAdam Dunkels博士によって開発されました。 このシステムは、マルチタスクオペレーティングシステム環境とTCP/IPサポートを提供するのに、わずか数キロバイトまたは数百バイトのメモリしか必要としません。組み込みマイクロコントローラプラットフォーム(TI MSP430、Atmel AVR)に加え、PC、ゲームコンソール、その他のプラットフォームにも移植され、正常に動作しています。フルスタンダードのIPv6およびIPv4プロトコルに加え、低消費電力ネットワーク規格である6lowpan、RPL、CoAPもサポートしています。 3. eLinuxi eLinux(Embedded Linuxとも呼ばれる)は、組み込みLinuxオペレーティングシステムです。Linuxカーネルをベースに、組み込みシステム向けにカスタマイズされたLinuxであり、幅広いメーカー、チップ、製品でサポートされています。eLinuxのWikiページには、開発、ハードウェア、製品、メーカー、コミュニティに関する包括的な情報が掲載されています。 4. フリーRTOS FreeRTOS は、タスク管理、時間管理、セマフォ、メッセージ キュー、メモリ管理、ログ記録、ソフトウェア タイマー、コルーチンなどの機能を備えたミニ リアルタイム オペレーティング システム カーネルであり、基本的に小規模システムのニーズを満たすことができます。 FreeRTOSは完全にオープンソースのオペレーティングシステムであり、オープンソースコード、移植性、カスタマイズ性、柔軟なスケジューリング戦略を特徴としています。現在、数百万台のデバイスに導入されており、「市場をリードする組み込みリアルタイムオペレーティングシステム」として高く評価されており、マイクロコントローラとマイクロプロセッサに優れたソリューションを提供しています。 5. mbed OS ARMが開発したこのオペレーティングシステムは、ARMプロセッサを搭載したIoTデバイス向けに特別に設計されています。C++アプリケーションスイートが含まれており、ARMはその他の開発ツールや関連デバイスサーバーも提供しています。 mbedオペレーティングシステムは、デフォルトでは、マルチスレッド(リアルタイムオペレーティングシステム)環境ではなく、イベント駆動型のシングルスレッドアーキテクチャです。これにより、最小、低コスト、低消費電力のIoTデバイスにも拡張可能です。 ARM はモバイル デバイスで強力な市場シェアを誇っているため、このオペレーティング システムの強みと将来性を過小評価すべきではありません。 6. ラズビアン Raspbianは、Raspberry Piハードウェア向けに設計されたDebianベースのオペレーティングシステムです。このオペレーティングシステムには、Raspberry Piハードウェアの動作を保証するための一連の基本プログラムとツールが含まれています。 7. 暴動 「フレンドリーなIoTオペレーティングシステム」を自称するRIOTは、開発者フレンドリー、リソースフレンドリー、そしてIoTフレンドリーであることに尽力しています。主な機能としては、C/C++サポート、マルチスレッド、省電力、そして部分的なPOSIX準拠などが挙げられます。RIOTオープンソースコミュニティは2008年から活発に活動しています。RIOTは、組み込みデバイス、PC、センサーなど、様々なプラットフォームで動作します。 8. Ubuntuコア Ubuntuは現在最も人気のあるLinuxディストリビューションであり、Ubuntu CoreはUbuntuをモノのインターネット(IoT)の世界にもたらすことを目指しています。Microsoft Azure、Google Compute Engine、Amazon Elastic Compute Serviceなどのサービスに加え、BeagleBone BlackやRaspberry Piなどのハードウェアも実行できます。 9. ファーウェイ LiteOS Huawei LiteOSは、HuaweiがIoT分野向けに開発した統合IoTオペレーティングシステムおよびミドルウェアソフトウェアプラットフォームです。軽量(カーネルサイズ10k未満)、低消費電力、相互接続性、セキュリティといった主要な機能を特長としています。Huawei LiteOSは現在、スマートホーム、ウェアラブル、コネクテッドカー、スマートメーター、産業用インターネットといったIoT分野のスマートハードウェアで主に利用されています。また、LiteOSエコシステム内のハードウェアと相互接続することで、ユーザーエクスペリエンスを向上させることも可能です。 LiteOSオペレーティングシステムは、低消費電力、小型、高速応答を特徴としています。また、オープンソースコミュニティも設立されており、HiSiliconのHCT3911 PLCチップ、3798M/Cメディアチップ、Hi3516A IPカメラチップ、LTE-Mチップなどのチップをサポートしています。 10. タイゼン Linux Foundation と LiMo Foundation が、Intel および Samsung Electronics と共同で開発したオープンソース オペレーティング システムである Tizen は、モノのインターネット (IoT) デバイス エコシステム (デバイス メーカー、モバイル オペレーター、アプリケーション開発者、独立系ソフトウェア サービス プロバイダーを含む) のニーズを満たすことができ、携帯電話、テレビ、ウェアラブルなどの複数の製品で使用できます。 Tizenの基盤となるプラットフォームAPIはHTML5形式で公開されており、通信、マルチメディア、カメラ、ネットワーク、ソーシャルメディアといったサービスが提供されます。SamsungはすでにこのOSを搭載した製品を複数販売しており、最大の支持者となっています。 オープンソース オペレーティング システムは実際にはどのような問題を解決するのでしょうか? 接続性: TCP/IP、ZigBee、Bluetooth、WiFi ドライバーなどの一般的なネットワーク プロトコル スタックを統合することにより、オペレーティング システムは接続性の問題の解決に貢献しています。 スマート ハードウェア間の差別化と識別: これら 2 つの質問はオペレーティング システムとはほとんど関係がなく、同じメーカーの製品間の「差別化と識別」に多少役立つだけです。 通信と相互運用性:モノ間の通信と相互運用性において、オペレーティングシステムは基本的に単なるオブザーバーです。同じベンダーが提供する開発ツールを使用して開発された特定のアプリケーションに対して、ある程度の支援を提供するだけです。相互運用性は基本的に、その開発ツールを使用して開発されたスマートハードウェアに限定され、主にモノと人の間で実現されます。人とモノの間の相互運用性については、リモートデスクトップやWebサーバーをサポートするオペレーティングシステムがより包括的な支援を提供できます。 まとめ モノのインターネット(IoT)時代において、IoTオペレーティングシステムは誰もが話題にしています。IoTの核心的な課題、オペレーティングシステムがIoTにおいて何ができ、何ができないのか、そしてそれがオペレーティングシステムの設計にどのような影響を与えるのかを分析する必要があります。IoTアプリケーションに適したオペレーティングシステムを設計するには、IoTが直面する問題を明確に分析し、核心的な課題の解決に注力し、他者のやり方に盲目的に追従したり直感に頼ったりするのではなく、的を絞ったアプローチをとる必要があります。 |