組込み向けハイパーバイザー TOPPERS-Pro SafeG シリーズ TrustZone セキュリティ拡張機能利用、Arm プロセッサ上で汎用 OS と RTOS を安全に同時実行

TOPPERS-Pro SafeG』、『TOPPERS-Pro SafeG64』および『TOPPERS-Pro SafeG-M』は、NPO 法人 TOPPERS プロジェクトが開発したオープンソースソフトウェア「SafeG」、「SafeG64」および「SafeG-M」をベースとした、商用の組込み向けハイパーバイザーです。

SafeG 技術とは、Arm プロセッサの TrustZone セキュリティ拡張機能を利用した技術です。この技術を活用することにより、同一ハードウェアプラットフォーム上で信頼性の高い RTOS である TOPPERS カーネルと信頼性の高くない汎用 OSLinux/AndroidFreeRTOS、Mbed OSなど)とを分離し、安全に同時実行できます。

主な特長

シングルコアでも安全に RTOS と汎用 OS とを分離し、同時実行

Arm TrustZone 技術を活用し、仮に汎用 OS が意図しない停止をしても、RTOS には影響がありません。
標準では、RTOS として TOPPERS OS、汎用 OSとして LinuxSafeG-Mで は FreeRTOS)をサポートしていますが、他 OS でも使用可能です。

マルチコアに対応

マルチコアを使用する場合、RTOS と汎用 OS とをコア毎に分けて使用することも、コアを共用することも可能です。例えば、クアッドコアの場合、RTOS:汎用 OS を、1:3で使用、2:4で使用、4:4で使用など、自由に設定できます。

64 ビットにも対応

Arm 社の 64 ビット拡張アーキテクチャである Armv8-AAArch64)にも対応しました。Armv8-AAArch64)用の TOPPERS-Pro SafeG64 Arm 社から無償提供されている ATFArm Trusted Firmware)を使用します。

Cortex-M シリーズにも対応【NEW!】

Cortex-M ベースのシステムでも TrustZone テクノロジーを使用することができる最新の Armv8-M アーキテクチャにも対応しました。

RTOS と汎用 OS との切り替えが高速

コアのクロックなどにも影響されますが、RTOS の割込み応答遅延は低く、OS 切り替えをうたう製品群の中でトップクラスの速さを誇ります。一般的な Cortex-A9 コアの場合、RTOS の切り替えに伴う割込み応答遅延は2μsec. 以下です。

優れたコストパフォーマンス

TOPPERS-Pro SafeGTOPPERS-Pro SafeG64 および TOPPERS-Pro SafeG-M はシンプルな構成であり、移植性に優れています。汎用 OS 側の修正量が少なくて済むため、購入時の改造コストやその後のメンテナンスコストが低くすむメリットがあります。

MDCOM(ドメイン間通信ライブラリ)を提供

TOPPERS-Pro SafeGTOPPERS-Pro SafeG64 および TOPPERS-Pro SafeG-M には MDCOM と呼ばれる、RTOS と汎用 OS との通信ライブラリを提供します。通信方式として、共有メモリを使う API とチャネル(イベント)通信を使う API を用意しています。

対応環境

対応プロセッサ:TrustZone をサポートする、Arm Cortex-A シリーズ(MPCore 含む)および Cortex-M コアのプロセッサ

ユーザーメリット

  • 従来の µITRON のソフトウェア資産が、ほぼそのまま使用可能なため、工数の削減に寄与します。
  • 一般的なハイパーバイザーのように極端なハードウェアの仮想化を行わずに、TrustZone のワールドコンテキスト切り替え機能のみを利用するため、オーバヘッドが非常に低くパフォーマンスが高いシステムが構築できます。
  • RTOS が優先される仕組みのため、リアルタイム性と高速起動を実現できます。オプション製品の Ubiquitous QuickBoot を組み合わせることで、リアルタイム OS のみならず、Android/Linux の高速起動も実現可能です。
  • 汎用 OSAndroid/Linux および FreeRTOS)の変更が軽微であるため、OS のバージョンアップへの追随が容易です。

技術サポート体制

専任の担当者による技術サポートを提供します。

移植・チューニング

ユビキタスAIが提供するソフトウェアの移植サービスからアプリケーションの開発受託サービスなどを、別途承っております。開発期間が短い場合やエンジニアリングリソースが不足している時など、お客様に代わって経験豊富なエンジニアが移植、開発作業を行います。

【技術コラム】組込み機器でも使える仮想化(ハイパーバイザー)

近年、組込み機器でもハイパーバイザーによる仮想化を利用し、1 CPU 上で複数の OS を動かすケースが増えてきています。最近の CPU アーキテクチャはどれも仮想化支援機構を備えており、ハードウェア(HW)を仮想化するハイパーバイザーはこの機構を利用しています。

組込み機器で広く使われている Arm プロセッサには、 TrustZone (Security Extensions) と Virtualization Extensions という 2 つの仮想化支援機構が存在します。

safe-g_column01.jpg

TrustZone は、CPU に「セキュア状態」という概念を導入しました。
各状態用に HW リソースを二重化したことで、1CPU で2つの OS を動作させることが可能になりました。ハイパーバイザーによる OS の切り替えは、セキュア状態の切り替えに相当するため、高速な切り替えが可能です。また、Non-Secure 状態で動く OS は、セキュア状態に割当てられたメモリへはアクセスできません。
これによって、セキュリティの確保も容易になりました。

一方、Virtualization Extensions は、Non-Secure 状態で複数のゲスト OS を効率的に切り替えるための仮想化支援機能です。

以上のことから、 TrustZone はセキュリティや機能安全のためのセパレーションの実現、リアルタイム性の確保に向いており、Virtualization Extensions はデータセンターでのマルチインスタンスの実現などに適しています。

どちらの技術を利用しているかは、ハイパーバイザーによって異なります。それぞれ得意な領域が違うため、用途に応じたものを選ぶことが重要です。

関連製品:TOPPERS-Pro/ASPTOPPERS-Pro/ASP3TOPPERS-Pro/FMPTOPPERS-Pro/FMP3TOPPERS-Pro/HRP2TOPPERS-Pro/HRP3TOPPERS-Pro/HRMP3TOPPERS-Pro/SSPTOPPERS-Pro/FI4