Visão geral

A virtualização permite que uma ou várias instâncias do Android Automotive OS (AAOS) sejam executadas como uma máquina virtual (VM) convidada, além de outros sistemas operacionais automotivos, como um painel de instrumentos ou uma instância do SO que executa os sistemas avançados de assistência ao motorista (ADAS, na sigla em inglês) em um sistema automotivo em chip (SoC, na sigla em inglês). Isso é feito aproveitando uma estrutura baseada em padrões abertos para virtualização chamada VirtIO. O VirtIO oferece uma interface bem estabelecida que permite que o AAOS seja executado em uma plataforma virtualizada comum que, por sua vez, permite que uma VM convidada do AAOS seja portátil em diferentes sistemas de hipervisor e/ou plataformas de hardware.

Arquitetura de virtualização do AAOS
Figura 1. Arquitetura de virtualização do AAOS

Para ativar casos de uso automotivos, a especificação do VirtIO foi estendida para incluir dispositivos como virtio-snd para áudio, virtio-scmi para sensores, gerenciamento de estado de energia, gerenciamento de relógio e gerenciamento de desempenho e virtio-video para casos de uso de reprodução. Os drivers VirtIO correspondentes a esses dispositivos também foram adicionados ao kernel do Linux (virtio-snd driver, IIO SCMI driver de sensor, e virtio-video driver).

O AAOS oferece um dispositivo de referência chamado trout, que oferece suporte a subsistemas virtualizados, como:

  • Áudio
  • Dumpstate
  • Sistema de visualização estendida (EVS, na sigla em inglês)
  • Modo de garagem
  • Gráficos
  • Sensores
  • Entrada touchscreen
  • HAL veicular
  • Bluetooth
  • Sistema global de navegação por satélite (GNSS, na sigla em inglês)

Consulte estes artigos para saber mais sobre a virtualização no AAOS: