概述

借助虚拟化,Android Automotive 操作系统 (AAOS) 的单个或多个实例可以作为客虚拟机 (VM) 与其他汽车操作系统(例如,仪表盘或在汽车片上系统 (SoC) 上运行高级驾驶员辅助系统 (ADAS) 的操作系统实例)并行运行。这可以通过利用名为 VirtIO 的基于开放标准的虚拟化框架来实现。VirtIO 提供了一个完善的接口,使 AAOS 能够针对通用的虚拟化平台运行,进而使 AAOS 客虚拟机可以在不同的虚拟机监控程序系统和/或硬件平台之间移植。

AAOS virtualization architecture
图 1. AAOS 虚拟化架构

为了支持汽车用例,VirtIO 规范已扩展为包含以下设备:用于音频的 virtio-snd、用于传感器、电源状态管理、时钟管理和性能管理的 virtio-scmi 以及用于播放用例的 virtio-video。与这些设备对应的 VirtIO 驱动程序也已添加到 Linux 内核中(virtio-snd 驱动程序IIO SCMI 传感器驱动程序virtio-video 驱动程序)。

AAOS 提供了一个名为trout的参考设备,该设备支持虚拟化子系统,例如:

  • 音频
  • Dumpstate
  • 扩展视图系统 (EVS)
  • 车库模式
  • 图形
  • 传感器
  • 触摸屏输入
  • 车辆 HAL
  • 蓝牙
  • 全球导航卫星系统 (GNSS)

请参阅以下文章,详细了解 AAOS 上的虚拟化