本物とは何か
次の組み込みシステム プロジェクト用の RTOS を選択するためのガイド。
リアルタイム オペレーティング システム (RTOS) は、予測可能性と決定性という 2 つの重要な機能を備えたオペレーティング システムです。 RTOS では、繰り返されるタスクが厳しい時間境界内で実行されますが、汎用オペレーティング システムでは、必ずしもそうである必要はありません。 この場合、予測可能性と決定性は密接に関連しています。つまり、タスクにどれくらいの時間がかかるか、そして常に同じ結果が得られることがわかっています。
RTOS は、「ソフト」リアルタイム システムと「ハード」リアルタイム システムに細分されます。 ソフト リアルタイム システムは、人間の反応の規模で、数百ミリ秒以内に動作します。 ただし、ハード リアルタイム システムは、数十ミリ秒以下で予測可能な応答を提供します。
オペレーティング システムの分類
RTOS はオペレーティング システムの一種ですが、ほとんどの消費者がよく知っている種類のものとは大きく異なります。 携帯電話やパソコンのオペレーティング システムは、アプリや機能が豊富で比較的肥大化しています。 ユーザーが今日やりたいことを何でもサポートできなければなりません。 一方、RTOS は合理化されており、タスクを迅速かつ効果的に実行することを目的としています。 サイズはごく一部で、場合によっては数メガバイト (20 ギガバイト以上) にすぎず、シンプルなグラフィカル インターフェイスを備えており、Web ブラウザなどの多くの使い慣れた機能がありません。
組み込みシステムとは、ロボット アームのマイクロコントローラーなど、より大型のマシンに組み込まれたコンピューターです。 ある程度のタイムラインの柔軟性を備えた非クリティカル システムでは、開発者は Linux などのオープン ソースの汎用 OS (GPOS) を使用できます。 Linux は多機能で柔軟性があり、よく知られています。 クリティカルなシステム (セーフティ クリティカルであるかミッション クリティカルであるかにかかわらず) では、開発者はリアルタイム オペレーティング システムを選択します。 RTOS を際立たせる特性は、多くの場合、成功に不可欠です。 たとえば、工場のロボット アームは予測可能で信頼性が高く、従業員が作業領域に入るとすぐに停止できなければなりません。 ばらつきがあると、リソースの無駄、品質管理上の問題、怪我が発生する可能性があります。
ロボットアームは、従業員が作業領域に入るとすぐに停止できなければなりません。
リアルタイム オペレーティング システムは、その利点により、組み込みシステム、つまり大規模な操作の舞台裏で動作するシステムで最もよく使用されます。 通常、RTOS にはグラフィカル インターフェイスがありません。 場合によっては、汎用 OS の使いやすさと組み合わせた操作機能を提供するために、複数の OS が同時に統合されることがあります。
RTOS は、電気機械エッジまたはサイバーフィジカル システムとも呼ばれるインテリジェント エッジ デバイスに組み込まれることがよくあります。 これは、デバイスがデータの生成とデータの操作の両方を行っていることを意味します。 したがって、たとえば自動車は周囲を監視し、それに応じて自動的に即座に行動できるようになります。 このようなデバイスは、多くの場合、人工知能または機械学習、またはその両方をリアルタイム コンポーネントと組み合わせて、基礎となる構造の機能を向上させます。
自動運転車は周囲を監視し、それに応じて自動的に即座に行動できる必要があります。
RTOS は小型、高速、応答性が高く、決定的です。 これは、タスクを迅速かつ効率的に実行し、毎回期待どおりに応答することを意味します。 ホスト デバイスの重要性により、RTOS インフラストラクチャはより安全であり、クラッシュや障害が発生する可能性が低くなります。 最後に、RTOS は開発者指向です。つまり、ユーザーがより効率的にコードを作成できるようにするアップデートを継続的に展開します。
一部の企業は、市販の既製のオペレーティング システムを購入する代わりに、プロジェクトに合わせてカスタマイズした独自の RTOS を社内で製造しようとしています。 これにはいくつかの利点があります。オペレーティング システムはユースケースに合わせて特別に設計されており、企業はその仕組みと内部の仕組みを理解しています。 ただし、このアプローチは多くの場合、より高価で時間がかかり、オペレーティング システムの作業に慣れていない開発者はオペレーティング システムを作成するのに多大な時間がかかります。 商用システムを使用すると、より速く、簡単に、質問に答えてサポートを提供できる経験豊富な技術チームのメリットが得られます。 オペレーティング システムは、ハンマーやドリルと同じようなツールです。 完全に理解し、プロジェクトにより適合する可能性のあるものを作成することはできますが、パフォーマンスや機能の保証がなく、多大な時間がかかります。