概要

仮想化を使用すると、Android Automotive OS(AAOS)の単一または複数のインスタンスを、他の自動車用オペレーティング システム(インストルメント クラスタや、自動車のシステム オン チップ(SoC)で先進運転支援システム(ADAS)を実行している OS のインスタンス)とともに、ゲスト仮想マシン(VM)として実行できます。これは、オープン標準ベースの仮想化フレームワークである VirtIO を利用することで実現できます。VirtIO は確立されたインターフェースを提供し、AAOS を共通の仮想化プラットフォームに対して実行できるようにします。これにより、AAOS ゲスト VM を異なるハイパーバイザ システムやハードウェア プラットフォーム間で移植できるようになります。

AAOS 仮想化アーキテクチャ
図 1. AAOS 仮想化アーキテクチャ

自動車のユースケースを可能にするため、VirtIO の仕様が拡張され、virtio-snd(オーディオ用)、virtio-scmi(センサー、電源状態管理、クロック管理、パフォーマンス管理用)、virtio-video(再生用)などのデバイスが追加されました。また、これらのデバイスに対応する VirtIO ドライバも Linux カーネルに追加されています(virtio-snd driverIIO SCMI センサー ドライバvirtio-video driver ドライバ)。

AAOS は、次のような仮想化サブシステムをサポートする、trout という参照デバイスを提供しています。

  • オーディオ
  • Dumpstate
  • 拡張ビューシステム(EVS)
  • ガレージモード
  • グラフィック
  • センサー
  • タッチスクリーン入力
  • 車両 HAL
  • Bluetooth
  • グローバル ナビゲーション衛星システム(GNSS)

AAOS の仮想化について詳しくは、以下の記事をご覧ください。