リアルタイムOS(RTOS)の概要と機能
リアルタイムOS(RTOS)とは、「予測可能性」と「ディターミニズム(決定論性)」という2大特長をもつオペレーティングシステムです。汎用OSとは異なり、RTOS上では常に厳格な時間制約のもとで反復タスクが実行されます。タスクごとに所要時間を予測できる「予測可能性」と、毎回同じ結果を得られるという「ディターミニズム」は表裏一体的な重要な要素となります。
RTOSには、「ソフトリアルタイムシステム」と「ハードリアルタイムシステム」が存在します。ハードリアルタイムのRTOSは、数十ミリ秒以内の予測可能な幅で応答します。 人間の脳の処理速度はおよそ30ミリ秒と言われています。そこから処理を実行するのに、100ミリ秒以上を要します。ソフトリアルタイムでは、人間の反射神経と同等の数百ミリ秒以内で応答します。ハードリアルタイムの世界では、モーター、ロボット、航空機などでは最低でも数10ミリ秒以内、場合によってはマイクロ秒単位の予測可能な幅で応答しなければなりません。
OSの分類
RTOSと汎用OSの違い
RTOSはOSの一種ですが、利用者に馴染み深い情報系のOSとは大きく異なります。通信端末やパソコン上の汎用OSには数々のアプリや機能が満載されているため、ユーザーがその場で実行するあらゆる操作をサポートしなければなりません。しかしRTOSはタスクを迅速かつ効果的に実行できるよう、合理的に設計されています。汎用OSが20ギガバイト以上であるのに対してRTOSのメモリサイズは圧倒的に小さく、単純なグラフィックインタフェースのみを搭載している場合は、わずか数メガバイトというケースもあります。さらに、RTOSはWebブラウザをはじめとする一般的な機能の多くを備えていません。
リアルタイムOS(RTOS)の特徴
5つの特徴
- ディターミニズム: 同じ入力であれば何度行っても同じ結果を出力する決定論性です。
- 高パフォーマンス: 高速で応答性に優れており、汎用OSよりはるかに短い時間でアクションを実行します。
- 安全性とセキュリティ: RTOSはロボティクスやフライトコントローラーなど、システム障害が大惨事になりかねないクリティカルシステムで広く採用されています。こうしたシステムの利用者を保護するために、極めて厳格なセキュリティ基準や信頼性の高い安全機能が要求されます。
- 優先度ベースのスケジューリング: 優先度の高いタスクから順番に実行します。つまりRTOSでは常に、最も重要なタスクが最初に実行されます。
- スモールフットプリント: 容量の大きい汎用OSに比べ、RTOSは圧倒的に軽量コンパクトです。たとえば、Windows 10(インストール後の更新を含む)の必要容量は約20ギガバイトですが、VxWorks®の場合は、その2万分の一(一桁台前半のメガバイト数)です。
【無料オンライン講座シリーズ】VxWorksを試そう!リアルタイムOS - 入門編・応用編・達人編をご覧ください。
組込みシステムとRTOSとの違いと類似点
組込みシステムとは、たとえばロボットアームのマイクロコントローラなど、それ自体よりも大きなマシンに内蔵されたコンピュータを指します。処理時間に余裕のある非クリティカルなシステムは、Linuxなどのオープンソースの汎用OS(GPOS – General Purpose Operating System)を使って開発できます。Linuxは、機能が充実していて柔軟性に優れたOSの代表格です。一方、重要度の高いシステム(セーフティクリティカル/ミッションクリティカルシステム)の場合は、RTOSを使った開発が好まれます。重要度の高いシステムは、開発の成功にRTOSならではの特徴が不可欠なためです。たとえば、製造現場でのロボットアームには予測可能性や信頼性、作業エリアに人が立ち入った際の自動停止機能も必要です。動作にばらつきがあるとリソースの無駄や品質管理上の問題、負傷につながる恐れがあるためです。
人を感知すると自動停止するロボットアーム
RTOSを使った組込みシステム開発
RTOSは、その利点から組込みシステム(より大規模な動作環境を裏側で支えるシステム)で活用されています。RTOSは通常、グラフィックインタフェースを備えていません。グラフィックインタフェースを備える汎用OSの使い勝手と運用性を両立するためには、複数のOSを統合した開発が行われることもあります。
RTOSは、デバイスから生成されたデータに基づき動作するインテリジェントエッジデバイス(別名:電気機械装置、サイバーフィジカルシステム)によく搭載されています。周囲を監視し、状況を判断して瞬時に反応する車載デバイスなどが例です。こうしたデバイスでは通常、基盤となる構造の機能を向上させるために、人工知能(AI)や機械学習機能とリアルタイムコンポーネントが併用されています。
周囲を監視し、瞬時に反応する自動運転車
RTOSの特長とメリット
RTOSは、スモールフットプリント、高速性、即応性、ディターミニズムをあわせ持つため、タスクを迅速かつ効率的に実行し、常に予測どおりの応答結果を得られます。また、重要度の高いホストデバイスの動作基盤であるため、セキュリティが厳格で、動作不良や障害への耐性も強化されています。さらに、更新版が継続的にリリースされるため、効果的なコード開発を促進する開発者指向のOSであると言えます。
商用RTOSと内製RTOSの利点とリスク
商用RTOSパッケージを購入せず、自社プロジェクトに特化したRTOSを内製する企業もあります。ユースケースに合わせたOSを設計できる、仕組みや内部構造を把握できる、などのメリットはあるものの、総体的には高コストで時間のかかるアプローチです。また、OS開発に不慣れなエンジニアの場合、完成までに長い時間を要します。一方、商用版を使うとスピーディーかつ簡単に導入できるほか、経験豊富な技術サポート部門に不明点を問い合わせたり、サポートを依頼できます。OSはハンマーやドリルと同様、何かをするための「ツール」です。自社プロジェクトに適したOSを社内開発することもできますが、時間がかかるだけでなく、パフォーマンスや機能の保証もありません。
RTOSの利用目的
信頼性や再現性の高いアクションが必要なアプリケーションでは、汎用OSよりもRTOSが好まれます。信頼性や高速処理が必須の組込みシステムやミッションクリティカルシステムではとくに、リアルタイムOSが不可欠です。
リアルタイムOS開発に影響を与えるもの
RTOS業界は、コンピュータハードウェア業界の動向に大きく影響されます。マルチコアなどの最新技術が普及すると、それに合わせてOSも更新されます。また、OS開発者は人工知能(AI)や機械学習、5Gなどの最新技術の動向にも注視し、新技術から生まれる新たなユースケースにも対応しなければなりません。OSを設計する際は、ハードウェアだけでなく、ソフトウェア開発のトレンドも考慮する必要があります。開発のフィールドや、開発者の資質が大きく変わる中、新たな言語や技術、デプロイ形態をサポートできるよう、OSも進化させていく必要があります。
機械学習や5Gなどの新興技術を取り入れたOS開発
RTOSのアーキテクチャ
RTOSのアーキテクチャには、「マイクロカーネル」と「モノリシックカーネル」という2つの設計思想があります。各種コンポーネントが独立した空間に分割されているOSはマイクロカーネルシステム、それぞれシステム構造が異なり、単一空間で動作するOSはモノリシックシステムと呼ばれます。
マイクロカーネルシステム
マイクロカーネル型アーキテクチャでは、同じ空間を共有するそれぞれのコンポーネントに独立した「部屋」が割り当てられるため、隣接するコンポーネントを邪魔することなく、個々の部屋を改装できます。しかし、相互通信を行うには、部屋のドアを開けて廊下に行かなければならないため、時間がムダになります。アクションの実行結果は、まずカーネルに戻してから、参照先のコンポーネントに移動させることになります。つまり、操作内容によっては必要以上に時間がかかってしまいます。
モノリシックシステム
モノリシックシステムでは、部屋と部屋の間に「壁」がありません。そのため、互いの部屋を素早く行き来できます。小規模カーネルを実装する代わりに、他のエリアの制御も含めたすべてのサービスを一体的に提供します。操作は基本的にカーネル空間で実行されるため、カーネルに実行結果を何度も戻すことなく、速度とパフォーマンスを向上できます。ただし、一部を変更すると、OS全体に影響が出る可能性もあります。
マイクロカーネルシステム | モノリシックシステム |
---|---|
カーネルと実行空間は分離しているため、カーネル自体は非常に極小(ベア状態)である。ユーザー空間同士での実行はお互いにアクセスできず、一旦カーネルに戻してから行われる。 | カーネルと実行プロセスは、同じ空間を共有するため実行速度は速く、高パフォーマンスを実現できるが、システムの更新時は関連する箇所の更新量が大きくなることもある。 |
リアルタイムシステムの例
RTOSは世界各地で無数の製品に搭載されており、VxWorksだけでも20億台以上のデバイスの動作を支えています。自動車エンジンから、宇宙の深部を観測する望遠鏡、ヘリコプター誘導システム、火星探査機にいたるまで様々なシステムに、リアルタイムOSベースの組込みシステムが採用されています。
航空宇宙・防衛 | 通信 | 運輸システム | 医療機器 | 製造機器 |
---|---|---|---|---|
|
|
|
|
|
組込みシステムとリアルタイムOSを取り巻く世界の変化
新たな開発手法への対応
組込みシステムに求められる機能は、それらを動かすOSにも要求されます。リアルタイムOSは、常に最新イノベーションに対応し、最新の開発手法を取り入れる必要があります。つまり、次世代の組込みシステム開発者が採用するフレームワーク、言語、開発手法との互換性を実現すると同時に、セキュリティ、安全性、パフォーマンス、信頼性の面で妥協することは許されません。
レガシーシステムのサポート
技術革新によってパフォーマンスや接続性が改善し、開発サイクルが短縮すると、新製品でさえもあっという間に陳腐化してしまいます。このため、「レガシーシステムをどう扱うか」という問題が生じます。組込みアプリケーションのコーディングを延々と修正することは予算的に困難です。しかしシステムメーカーがソフトウェアの認証を取得している場合はとくに、投資を無駄にしないためにも既存のコードを最大限活用したいというニーズもあります。
新たなハードウェアと仮想化技術
マルチコア対応ハードウェアプラットフォームの進化により、組込みシステムやアプリケーションを単一プラットフォームで統合可能になりました。1つのチップに2~64コアのCPUを搭載できるため、最終製品の低コスト化、小型化・軽量化を実現できるようになりました。
仮想化技術も組込みシステムの開発を加速する大事な要素です。仮想化することにより、単一のハードウェアのハイパーバイザー上で複数の組込みシステムを同時に実行することができます。既存IPへの投資効果を最大化しつつ、レガシーアプリケーションと新プラットフォームを連携させたい製造業者にとって、仮想化は不可欠な技術です。
商用RTOS選定時のポイント
オープンソースか、RTOSか
開発者がRTOSを内製することもできますが、オープンソースまたはコミュニティで開発されたOSを使うこともできます。その場合、リアルタイムOS機能の一部は実現できますが、課題もあります。大規模デプロイでは通常、数百~数千ドル、場合によっては数百万ドルのボードを活用しながら開発を進めるため、ハードウェアへの投資がかさばります。また、オープンソースOS導入時に問題が発生すると、納期や予算が一気に厳しくなります。さらにサポート体制も万全ではないため、ドキュメントの不足やバグなどの問題も想定されます。一方、商用RTOSは技術サポート体制が充実しているため、問題発生時や不明点の確認時に専門家による支援を受けることができます。
技術サポート体制が充実した商用RTOS
商用RTOS採用の判断材料となるビジネス課題
- IoTがもたらす莫大な成長機会を最短で実現したい
- 最先端の機能と性能で製品を差別化したい
- 現場で稼働中のデバイスへのリスクを最小限に抑え、コアOSへの投資を活かしつつ市場ニーズの進化に合わせた機能を製品に追加したい
- プラットフォームを低コストで運用したい
- リアルタイムシステムを迅速にデプロイして市場投入までの時間を短縮し、開発リスクを低減したい
- 現行製品の保守と新製品の開発人材リソースを効率よく配分したい
- リアルタイムの安全性とセキュリティ機能(中~高レベルの安全認証)が必要なプラットフォームのリスクを低減したい
- 複数のテクノロジーやプロダクトラインが混在し、多拠点・多部門にまたがり複雑化する開発体制を効果的に管理したい
安全認証の必要性
安全認証が必要なシステムの開発の場合、商用RTOSを活用すると、スケジュール遅延リスクを抑えつつ、簡単かつコスト効率よく認証を取得することができます。安全認証の評価では、取得対象の認証に必要なエビデンス(該当する文書のページまたは安全性プロファイル)を提供可能な商用RTOSが必要です。
ハードウェアのサポート
商用RTOSでは、基板の立ち上げや設計を支援するボードサポートパッケージ(BSP)が豊富に揃っています。ソフトウェア開発キットを使うことで、ハードウェアの種類に合わせて迅速かつ容易にRTOSを利用できます。ウインドリバーは、組込みソフトウェア業界随一の豊富なBSPを提供しています。テスト/バリデーション(検証)によってシームレスな相互運用性が実証されている当社のBSPを、開発プロセス迅速化や設計イノベーションにお役立ていただけます。
ビジネスニーズ、コスト構造、予算を反映した導入判断
商用RTOSのコスト
商用RTOS導入の大きなハードルは「予算」かもしれませんが、競合優位性、市場投入スピード、コストやリスクの低減、安心感など、トータルでの利点を考慮したうえで導入可否を判断すべきです。ビジネスケースを作成・検証して事業価値を評価し、コストと利点の両面から判断することが重要です。
商用RTOSのロイヤリティ形態
商用RTOSの購入は、プロダクションライセンス(PL)モデルによるロイヤリティ形態がその特色となりますす。PLモデルは、製品の出荷数に応じて課金されるリスク共有モデルです。 初期一括払いも選択できますので、RTOSを購入する際は、ビジネスニーズやコスト構造、予算を総合的に考えて、どちらがよいか判断する必要があります。
互換性と新バージョンへの対応
パフォーマンス、セキュリティ、機能追加などの長期的なサポートも、商用RTOS選定時に考慮すべき要素です。たとえば、APIとの互換性やPOSIX®準拠が継続的にサポートされるか、などの項目をチェックする必要があります。OSの中核機能(カーネル)に対する数か月先までの更改予定を把握できれば、バージョンアップやロールバックに必要な工数を見積もりやすく、ネットワーク機器やBSPの移行準備にも役立ちます。また、選択したオプションに関するドキュメントや、スムーズな展開に必要な技術サポート体制が整備されていることも、きわめて重要な判断材料です。
ウインドリバーのRTOS製品
組込みシステムで実績No.1のRTOS「VxWorks」
VxWorks は、セキュリティと安全性が不可欠なミッションクリティカルな組込みシステム向けRTOSとして、組込み業界で最も信頼され、幅広く採用されています。モダンな開発アプローチを取り入れた、リアルタイムかつディターミニスティックな実証済みランタイムを提供します。セキュリティ、安全性、高パフォーマンス、高信頼性における実績を積み重ねたVxWorksは、業界やデバイスの種類にかかわらず様々な企業から、信頼の基盤として活用されています。
VxWorksの概要と利点
- 30年以上にわたる信頼の実績
- 日本国内でのテクニカル/セールスサポート体制
- モダン開発言語(C/C++およびBoost、Rust、Python)のサポート
- アプリケーションをITサービスのようにデプロイ可能なOCI準拠コンテナをサポートする唯一のRTOS
- POSIX® PSE52規格に準拠
- 幅広いボードサポートパッケージ(BSP)および継続的な最適化により、最先端のプロセッサやSoC(システムオンチップ)に対応
- 各業界の最も厳格な安全規格に準拠した、600件以上の幅広い認証プログラムを含む安全認証取得実績
- ソースコードすべてにアクセスできるため、製品を柔軟にカスタマイズ可能
組込みシステム設計を補完するソリューション
ウインドリバーでは、商用RTOSソリューションの「VxWorks」以外にも組込みシステム向け製品群を取り揃えています。VxWorksは、主に認証取得が必要なプロジェクトやIPを保護すべきプロジェクト、GPL系ライセンスのコード使用不可のプロジェクト、当社IP Servicesによるカスタム対応サポートが必要な案件などに適しています。 また開発環境にサポート対象外のアーキテクチャがある場合は、Wind River Linuxもご利用いただけます。受賞歴をもつグローバルカスタマーサポート部門およびIP Services担当部門が当社製品すべてをバックアップし、お客様のビジネスやプログラムの目標達成を支援します。
ウインドリバーの製品・サービスがシステム設計を支援