
■WindowsとRTOSが単一PCで混在稼動可能
- ▼ x86マルチコアプロセッサ上で複数OSが相互に独立動作!
- ▼ OSごとに任意のコア数を割当て可能
■RTOS:レイテンシ(遅延)ゼロで稼動!
- ▼ デバイスドライバの修正なしでハードリアルタイム性を実現!
- ▼ ハードウェアへの直接アクセス実現(VMMによる遅延なし)
■OSごとの統合開発環境(IDE)をそのまま使用可能
- ▼ 既存のソフトウェア資産を修正なしで利用可能(QAコスト削減)
■仮想ネットワークによる高速OS間通信
- ▼ メインメモリを介してOS間でのTCP/IP通信を実現
- ▼ ブリッジ接続により外部ネットワークとの通信可能

Real-Time Hypervisor(以下RTH)とは、Microsoft Windows、Linuxなどの汎用OSと、Realtime Linux、VxWorks、QNXなどのリアルタイムOSを、単一PCにて並列稼動させるための仕組みを提供する仮想ソフトウエアです。ネイティブ環境での動作と同様に応答時間の最悪値が保証され、リアルタイム性を損ねることはありません。
各OSには任意のコア数を割り当てることができ、処理の負荷に合わせてカスタマイズが可能です。
RTH上で動作するOSを制限するものは、プロセッサ上に実装されているCPUコア数のみで、同一OSでも複数の空間で独立して動作させることができ、OSの組み合わせなどの制限もありません。
■汎用OS:Windowsのコントロール
RTH上でWindowsのような汎用OSを動作させる場合は、CPUが提供するIntel VT(バーチャライゼーション・テクノロジー)を介してハードウェアリソースを割り当てます。Windowsはハードウェアを動的に使用する可能性があり、リアルタイムOSのリソースに影響を与える可能性があるため、Intel VTを利用し動作制約を設けます。例えばWindowsがリアルタイムOSのハードウェアリソースにアクセスしようとすると、RTHがIntel VTを介してこれを随時監視し、不正なハードウェアへのアクセスがあった場合はそれをブロックします。
上図「RTH動作概念図」では、汎用OS(Windows)とIntel VT, リアルタイムOSの関係を図示しました。
■仮想ネットワークと共有メモリ
RTHでは、独立して動作している各OS間での通信手段として、仮想ネットワークと共有メモリという2通りの手法を提供しています。
仮想ネットワークとは物理的なネットワークを構築するのではなく、仮想的にメモリ上に構築されたネットワークを介して、TCP/IPプロトコルにてOS間でのデータ送受信を実現する手法です。一般的なTCP/IPプロトコルですのでアプリケーション開発も容易です。またOS間に限らず、ブリッジ接続を利用することにより、各OSが外部のネットワークへ接続することも可能となります。Real-Time Systems社が各OS向けに提供するデバイスドライバをインストールすることで利用可能です。
またメインメモリ上に確保できる共有メモリを介して、OS間で通信することも可能です。
RTHはReal-Time Systems GmbH(以下、RTS社)によって開発されています。RTS社は、ドイツにおいてリアルタイム処理のコアテクノロジーを研究・開発する企業です。 常に最先端技術をお届けするため、以下の企業と強力なパートナーシップを結び、積極的に最新市場要求を製品に反映しています。
|
|
powerControlV2.0搭載加工機 |
1. ユーザーインターフェースとリアルタイム処理の完全分離

- Windowsがユーザーインターフェースを担当、リアルタイムOSはリアルタイム処理のみ担当!
リアルタイム処理を実現するために、VxWorksなどのリアルタイムOSを採用する場合、ユーザーインターフェース開発の問題に直面します。
リアルタイムOS上でユーザーインターフェースを実装すると、開発工数が膨大になるほか、プロセスの単純化やメンテナンスが困難になります。
RTHを使用することで、Windowsがユーザーインターフェースを担当し、
リアルタイム性が求められる処理のみをリアルタイムOSが担当する、
といったタスクの分離が可能となります。
これによりWindowsのメリットである優れた開発環境、機能性に長けたUI、またファイルシステムやネットワークといった豊富なリソースを最大限に生かすことができます。
また一方でリアルタイムOSはリアルタイム処理のみを担当することで、
処理の単純化を実現し、セキュアかつメンテナンス性に優れた機能を実現できます。
この場合、リアルタイム処理に関して既存のデバイスドライバやソフトウェア資産を
そのまま流用できますので開発工数もかかりません。
2. 複数PCを1台に集約

- PCの数を減らしてコスト大幅削減!
- リアルタイム性、ソフトウェア資産はそのままで、システムを1台に集約。
PCを複数用意し、処理内容に合わせてタスクを分担している場合、
PCコストの問題に直面します。
上図では、PC 3台で1システムを構成する場合について図示しています。
各PCのCPU負荷に着目すると、それぞれ15%, 5%, 7%と、実際には
CPUリソースはそれほど活用されていません。
RTHを採用することにより、それぞれのPCが独立して処理していたタスクを
同様に完全分離した上で、単一PCでの並列処理を実現することができます。
単一PCにまとめることで、PCのコストを大幅削減し、かつCPUリソースをフル活用することができます。
RTHを使用することで、論理CPUの数と同じだけのOSを同時稼動することができます。
またRTHの設定でOSごとのCPU数割り振り可能ですので、負荷の大きいOSはコア複数使用(SMP)、などのカスタマイズが容易です。
既存のソフトウェア資産をそのまま流用することができ、かつ、これまでと同じ応答時間の最悪値が保証された状態でRTOSが稼動しますので、
スムーズにハードウェアの移行が可能です。
3. 従来のリアルタイムエクステンション技術では実現し得なかった堅牢なシステム構築を実現

- リアルタイム処理はリアルタイムOSで独立することで、セキュアなシステム構築。
- 不安定なWindowsシステムからリアルタイム処理を保護。
リアルタイムOSでのユーザーインターフェース開発困難性、
ユーザーフレンドリーなWindowsをインターフェースとして利用したいという
歴史的背景から、Windowsのカーネル部分(HAL)にパッチを当てて一部機能を
リアルタイム化するという手法があります。
この手法によりWindowsのメリットを保ちつつ、かつリアルタイム性を確保することができます。
この手法の問題として、システムがWindowsの安定性に依存してしまうことが挙げられます。
膨大なデバイスドライバやアプリケーションが原因となり、Windowsシステムは安定性の評価が難しくなります。
万が一の場合、安定性評価の不足はWindowsがクラッシュする原因になるかもしれません。Windowsがクラッシュするとリアルタイム処理もまたクラッシュするシステム構成ですので、安定性に不安が残ります。
そのほか、リアルタイム処理をするためにはWindowsが起動するのを待たなければならず、またWindowsアップデートなどでOSを再起動する場合にリアルタイム処理も中断しなくてはなりません。
RTHを利用することで、こうした問題が全て解決します。Intel VTによってWindowsとRTOSを
完全に分離したシステムとなるため、万が一、Windows上の悪意のあるソフトウェアが
RTOSのリソースにアクセスしようとしても、RTHがこれを感知してブロックします。
Windowsはブロックされると、ハードウェア的に該当リソースがそもそも存在しないものとして認識します。
このようにRTHを使用することでWindowsから独立した、より堅牢なリアルタイムシステムを構築可能です。
■ 対応OS
- ・Microsoft Windows
- ・Linux
- ・Android
- ・リアルタイムLinux (PreEmptiveパッチ、RedHawk Linuxなど)
- ・VxWorks
- ・Windows Embedded CE
- ・QNX Neutrino
- ・T-Kernel (ITRON系OS)
- ・RTOS-32
- ・OS-9
- ・任意の自社OS
- ・独立C言語コード
- 他
■ 対応CPU
- Intel Core 2 Duo以上 ※Intel VT-x対応している型番。Core i7以上を推奨。
- Intel Atomシリーズ ※Intel VT-x対応している型番
Windowsなどの汎用OSを使用しない場合(RTOSのみの場合)は
Intel VT-xに対応していないCPUでも動作します。
Core 2 Duoは一部Intel VT-xに対応していない型番がありますのでご注意ください。
詳細な対応CPU型番リストはこちら(※Intel webサイト内へリンク)です。
「Supports Intel VT-x」欄に「Yes」と表記があるCPUでReal-Time Hypervisorをご利用いただけます。




















