仮想化とは?

仮想化を使い、ハードウェアの機能をソフトウェアでシミュレートすることで、開発者やその企業がより柔軟で経済的なシステムを構築する方法をご紹介します。

 

仮想化とは?

システム開発における仮想化とは、ハードウェアの機能をシミュレートするソフトウェアを作成することです。その結果、ハードウェアシステムに全面的に依存するよりも経済的で柔軟性のある仮想システムを実現することができます。

仮想化は、仮想システムと物理システムの間で通信を行うハイパーバイザによって実現され、1つのハードウェア上に複数の仮想マシン(VM)を作成することができます。各VMは実際のコンピュータをそれぞれエミュレートしているため、異なるオペレーティングシステムを実行することができます。つまり、1台のコンピュータやサーバーで複数のオペレーティングシステムをホストすることができるのです。

その汎用性と効率性から、近年、仮想化は大きな盛り上がりを見せています。さらに、現在の産業用制御システムの多くは、30年前に導入され、もはや時代遅れとなっています。そのレガシーインフラストラクチャは、長年にわたり制御システムの安定したプラットフォームを提供してきましたが、柔軟性に欠け、コストのかかる手動でのメンテナンスが必要で、貴重なシステムデータに容易にアクセスして分析することができません。

汎用性が高く効率的な仮想化は、レガシーシステムの限界を克服します。

仮想化は、レガシー制御システムインフラストラクチャの限界を克服し、Industrial Internet of Things(IIoT)の基盤を提供します。従来は専用のハードウェア機器としてネットワーク上にデプロイされていた制御機能を仮想化し、商用オフザシェルフ(COTS)サーバーに統合することが可能です。これにより、最先端の半導体技術を活用するとともに、エネルギー、ヘルスケア、製造業などさまざまな産業分野において、設備投資の削減、運用コストの低減、効率の最大化を実現します。

組込みシステムの開発者にとって、仮想化は新たな機能と可能性をもたらしてくれます。システム設計者は、ハードウェアの制限を克服し、複数のオペレーティングシステムを使用して機器を設計することができます。また、高いアプリケーションの可用性と卓越したスケーラビリティを実現します。

組込みシステムの変化

組込みシステム設計における変化の要因は、ハードウェアの改良と、ソフトウェア開発手法の継続的な進化にあります。ハードウェアレベルでは、1つのCPUでより多くのことができるようになりました。新しいマルチコアシステムオンチップ(SoC)は、1つのハードウェアプラットフォームで1つのアプリケーションだけをホストするのではなく、複数のアプリケーションをサポートします。さらに、電力とコストの要件も抑えられるのです。同時に、ソフトウェア開発技術の進歩により、従来のシステムとは異なり、よりソフトウェア的に定義され、流動性の高いシステムが生み出されています。

変わるものもあれば、変わらないものもある。組込みシステムの中核となる要件がなくなることはありません。

  • セキュリティ: サイバー攻撃はより一般的になる一方で、完全に隔離されたシステムは珍しくなっています。組込みエンジニアは、以前にも増してセキュリティに真剣に取り組んでいます。
  • 安全性: システムは、それがどのようなものであれ、システム環境に悪影響を及ぼさないことを保証できなければなりません。産業、交通、航空宇宙、自動車、医療などの分野では、組込みシステムが誤作動を起こすと、人命に関わったり、環境破壊につながる可能性があります。そのため、性能についての予測可能性と信頼性である決定論が最も重要となります。あるゾーンでの1つの故障が、システム全体の故障の引き金になってはいけないのです。

組込みシステムの世界では様々な
変化がありますが、求められる
基本的な要件は変わりません
— 組込みシステムは、セキュア、
安全、信頼、そして
認証可能でなければなりません。

  • 信頼性: 組込みシステムは、常に期待通りに動作しなければなりません。初めて起動したときでも、何百万回目に起動したときでも、同じ時間内に同じ結果を出す必要があります。失敗が許されないシステムにおいて、「十分でない」「遅すぎる」という選択肢はありません。
  • 認証取得: 認証プロセスは、多くの組込みシステムの開発において、重要かつ費用のかかる部分です。レガシーシステムの認証は維持・活用されなければなりませんが、将来のシステムの認証の容易さも保証されなければなりません。

組込み技術とクラウドネイティブ技術の橋渡し

現在、多くのメーカーがレガシーの組込みシステムの耐用年数を迎えています。これらの数十年前のシステムは、セキュアでなく、安全でなく、あるいは現在の認証要件を満たすことができない可能性があります。アップグレードや交換の必要がありますが、費用がかかり、場合によってはどちらも不可能なこともあります。

同時に、人材の入れ替わりも進んでいます。オリジナルの設計を構築したエンジニアが退職し、新しい人材は異なるアプローチの教育を受けています。

さらに大きな問題は、開発サイクルの短縮に対する要求です。かつては、固定機能の組込みシステムを個別のハードウェア上に作るのに1年またはそれ以上かけられたかもしれませんが、今日の経済状況では、より迅速な市場投入が求められます。

それでも、多くのレガシーの組込みシステムは長期にわたって使用されます。多くの産業用システムのライフサイクルは35-45年で、珍しいことではありません。それらはモダナイズされていないかもしれませんが、それらが動作する機械は長持ちするように作られています。例えば、産業用制御システムは、そのデジタルコンポーネントの部分が絶望的に古くなったとしても、数十年の寿命を持つ可能性があります。

組込みシステムにおける仮想化のメリット

ハードウェアと仮想化は、幸いなことに組込みシステムの世界を悩ませながらも進歩し続けています。現在では、個別の専用ハードウェア上で動作する個別の組込みシステムを持つことに内在する困難のほとんどを克服することが可能になっています。これは、アプリケーションとオペレーティングシステムを持つ別々の組込みシステムを、単一のプラットフォームとハードウェアアーキテクチャ上にある独自の仮想マシンに統合することで実現されます。

図1に示すように、仮想化により、1つのマルチコアの半導体ハードウェアシステム上に、それぞれのOSを稼働させている複数の組込みシステムを配置することができます。半導体の設計、処理能力、および仮想化技術の進歩がこれを可能にしています。同じ半導体上に、複数のRTOSや、その他の一般的なレガシーOSと共に複数のバージョンのLinuxを配置することが可能です。

<図1. 仮想化により単一プロセッサ上で複数の組込みシステムを
動作させるための、リファレンス・アーキテクチャ

仮想化により、組込みシステムのアプリケーションとそのOSを、基盤となるハードウェアから抽象化することに成功しました。その結果、レガシーな組込みシステムから生じる最も深刻な問題の多くを克服することが可能になります。技術者にとっての利点は以下の通りです。

  • スケーラビリティと拡張性の大幅な向上
  • オープンフレームワークのサポートとデバイス間でのIPの再利用
  • より強力な処理能力を提供する、オープンで標準化されたハードウェア上でソリューションを構築可能
  • 設計の簡素化とそれに伴う市場投入までの時間短縮
  • デバイス内でのアプリケーションの統合による、部品表(BOM)に関連するハードウェアフットプリントとコストの削減
  • 使い慣れたOSやプログラミング言語で徐々に学習し、仮想化システムに導入が可能
  • 複数のOSやアプリケーションをside-by-sideで実行可能
  • 各オペレーティングシステムとアプリケーションインスタンスを分離することで、セキュリティを強化し、安全認証済みのオペレーティング環境と「非安全」アプリケーションの両方が使用可能になります。
  • 新機能の迅速な拡張を簡素化するDevOpsなどの、新しい方法論による容易なアップグレード
  • セキュリティ脅威への迅速な対応

ウインドリバーのアプローチ

Wind River Studio

Wind River® Studioは、セキュリティ、安全性、信頼性を必要とするミッションクリティカルなインテリジェントエッジシステムの開発、デプロイ、運用、サービスを行うための、初のクラウドネイティブプラットフォームです。一元管理によってライフサイクル全体にわたりデジタルスケールを実現し、変革的なビジネスの成果をあげることを加速するために設計されています。Wind River Studioには、複数のオペレーティングシステムをホストする仮想化プラットフォームや、開発・デプロイメントのプロセスのためのシミュレーションおよびデジタルツイン機能が含まれています。

» 詳細はこちら

図2. Wind River Helixプラットフォームアーキテクチャ

仮想化OSプラットフォーム

Wind River Studioには、Wind River Helix™ Virtualization Platformを搭載した、仮想化ソリューションが含まれています。これは、マルチOSで重要度が異なるアプリケーションが混在する、安全認証を取得可能なマルチコア、マルチテナントプラットフォームです。航空宇宙、防衛、産業、自動車、医療市場において、マルチOSで重要度が異なるアプリケーションが混在する環境を、単一エッジのコンピューティングソフトウェアプラットフォームに統合し、設計の簡素化、セキュリティ確保、将来性の確保を実現します。最新のイノベーションを実現するための既知で信頼性の高いテクノロジーという強固かつ柔軟な基盤の上に、新しいソフトウェアプラクティスを採用できる、実績と信頼のある環境を提供します。

Wind River Studioの一部であるHelix Virtualization Platformは、プラットフォームサプライヤ、アプリケーションサプライヤ、システムインテグレータの間で知的財産とセキュリティを分離することを可能にします。この分離により、複数のサプライヤがセーフティクリティカルなプラットフォームにコンポーネントを提供するためのフレームワークが提供されます。

クリティカルなインフラストラクチャの開発ニーズに対してさまざまなオプションを提供しており、認証要求のない高度にダイナミックな環境から、航空電子機器や産業用などの高度に規制された静的アプリケーションまで対応できます。また、自動車などの安全認証アプリケーションと非認証アプリケーションを混在させる必要のあるシステムにも対応しています。Helix Virtualization Platformは、さまざまな要件に応じた柔軟な選択肢と、将来の要件に対応する適応性を提供します。

» 詳細はこちら
シミュレーションとデジタルツイン

Wind River Studioクラウドネイティブシミュレーションプラットフォームは、複雑な実システムをシミュレートするデジタルツインにより、テストの自動化や複雑な問題のデバッグを実現します。デジタルツィンを使用することで、チームはより迅速に品質の向上を実現でき、アジャイルおよびDevOpsソフトウェアプラクティスを組込み開発に容易に導入することができます。

» Wind River Studioのデジタルツインソリューションについての詳細はこちら

仮想化に関するQ&A

仮想化とは、1台の物理マシン上にハードウェアやソフトウェアの仮想的なインスタンスを複数作成し、複数のOSやアプリケーションを独立して効率的に動作させるテクノロジーです。
リソースの利用率、柔軟性、拡張性の向上、管理の簡素化、ハードウェアコストの削減、セキュリティの向上などが挙げられます。
サーバー仮想化、デスクトップ仮想化、ネットワーク仮想化、ストレージ仮想化、アプリケーション仮想化などがあります。
ハイパーバイザーを使って1台の物理サーバー上に複数の仮想マシン(VM)を作成し、それぞれが独自のオペレーティングシステムやアプリケーションを実行できるようにすることで機能します。
ハイパーバイザーとは、ハードウェアリソースへのアクセスを管理し、必要に応じて各VMに割り当てることで、1台の物理マシン上で複数の仮想マシンを実行できるようにするソフトウェアのレイヤーです。
デスクトップ仮想化とは、リモートサーバー上に仮想デスクトップ環境を構築し、それをネットワーク経由でクライアント端末に配信することで、ユーザがどこからでもデスクトップやアプリケーションにアクセスできるようにすることです。
ネットワーク仮想化とは、物理的なネットワークインフラストラクチャの上に、スイッチ、ルーター、ファイアウォールなどのネットワークリソースを仮想的に構築することで、ネットワークリソースの有効活用とアジリティの向上を実現することです。
ストレージ仮想化とは、物理的なストレージリソースを抽象化し、仮想的なストレージデバイスとすることで、ストレージリソースの使用効率と管理性を改善します。
アプリケーションの仮想化とは、アプリケーションの仮想化環境を構築することで、基盤となるOSやハードウェアから独立して動作させることができます。また、より効率的なアプリケーションの導入と管理を可能にします。