虚拟化操作系统介绍
车载平台有逐渐融合的趋势,车载
SoC
的计算性能和应用快速增长,面临着多种应用在
多个显示子系统融合在一起的问题,这就要求平台运行多个操作系统。虚拟化(
Virtualization
)
技术飞速发展,系统虚拟化是虚拟化技术中的一种,随着目前
CPU
技术和性能的极大发展,
虚拟化技术真正商用的时机已经到来。系统虚拟化是指将一台物理计算机系统虚拟化为一台
或多台虚拟计算机系统。每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬件(比如
CPU
、内存和设备等),来提供一个独立的虚拟机运行环境。通过模拟虚拟化层,虚拟机中的
操作系统认为自己仍然是独占一个系统在运行。每个虚拟机中的操作系统可以完全不同,并
且执行环境是完全独立的。系统虚拟化的架构如图
4.1
所示。
在虚拟环境中,物理资源称为宿主(
Host
),虚拟出来的资源称为客户(
Guest
)。比如说,
把一个物理计算机虚拟成多个虚拟计算机,那么这个物理计算机被称为宿主机(
Host Machine
),
在其之上运行的虚拟机被称为客户机(
Guest Machine
)。宿主机上运行的操作系统称为宿主机
操作系统(
Host OS
),那虚拟机中运行的操作系统被称为客户机操作系统(
Guest OS
)。
4.1.1
车载虚拟化系统架构
一般虚拟化系统由三个部分组成:硬件、虚拟机监控器和虚拟机。通过在硬件底层处理
器上构建一个虚拟层,实现信息娱乐系统、仪表屏系统等多操作系统的同时、独立运行,从
而维护整个汽车系统的安全
[14]
。当娱乐系统的应用出现问题时,不会影响仪表系统的应用的
正常运行。能够满足不同需求、有着不同安全要求的软件能够实现共存共用。同时通过虚拟
技术,不同功能系统、软件之间能够图像、驱动器共享,实现中控屏、仪表屏、后座娱乐屏、
HUD
投影屏之间的无缝互动、信息融合。图
4.2
描述了本系统虚拟化操作系统总体架构框图。
通常来说,虚拟机监控器(
VMM
)对物理资源的虚拟要归纳三个主要任务:处理器(
CPU
)
虚拟化、内存虚拟化和
I/O
虚拟化。虚拟机是由虚拟处理器、虚拟内存和虚拟
I/O
设备等组
成。
VMM
的主要功能就是基于物理资源来创建相对应的虚拟资源,组成虚拟机,为客户机
操作系统提供虚拟的平台。
处理器虚拟化就需要实现多操作系统共享
CPU
,对
CPU
的分配是可配置的,通过灵活的
配置手段,实现虚拟
CPU
和硬件
CPU
的不同映射,满足实际
CPU
的分配需求。也解决了在
不同架构
CPU
间通信的问题。内存虚拟化就可以实现各虚拟节点间的内存高效共享,做到合
理的资源分配。
I/O
虚拟化解决了外围设备虚拟化的问题,根据实现应用,对外围设备作虚拟
化与共享处理,包括音频、视频、输入视频解码、存储设备、
USB
设备等。
本车载虚拟化操作系统能够提供非常好的硬件资源共享的支持,包括数字仪表盘、车载
娱乐系统、后座娱乐系统。在车载领域,有较多的图像处理的共享,摄像头收集的各类图像
需要及时的共享在不同的显示终端,以及音频资源等外设的共享,不同的显示终端播放不同
的节目源。考虑到整体系统的安全问题,
IVI
和
RSE
系统分别作为隔离的虚拟机运行。
4.1.2
系统虚拟化的应用
虚拟化技术经过很多年的飞速发展,市场中已出现了很多比较成熟的产品,从最早期的
服务器、桌面、工业、消费电子到现在的智能汽车等领域。比如说
Xen
是一款比较成熟的典
型的商业化产品应用,它基于
GPL
授权方式的开源虚拟机软件。
人机交互(
HMI
:
Human-Machine Interface Technologies
):该系统能够实现人与车之间的
交互,车主可通过该系统把握车辆信息并对车辆实施控制。输入端多样交互方式
+
输出端多屏
融合与个性化
UI
带来全新交互体验。
目前以按钮与触屏为主的输入方式造成驾驶者注意力分散,智能驾驶人机交互实现触摸、
语音控制、手势控制等多样化交互方式结合。智能驾驶人机交互综合采用语音控制、手势控
制等多样化的技术手段,给予驾驶者更好的交互体验
[15]
。智能驾驶人机交互通过中控屏幕、
液晶仪表和抬头显示多屏结合,以及个性化的用户界面(
UI
)设计,为驾驶者提供清晰的信
息提示。
目前,汽车中控屏、仪表盘显然已经不再拘泥于车辆基本数据显示,逐渐朝向智能化、
数字化转变,集成车辆状态、路况信息、车载导航设置、汽车控制等多重功能,驾驶者面对
驾驶过程中需要处理的大量的信息。本系统主控显示界面,拨打电话为最高优先等级,导航
界面拨打电话时,可以单独增加通话窗口,不退出导航界面。这就要求系统软件的操作系统,
通过虚拟化技术,可以轻松实现一屏多任务显示。
智能驾驶人机交互采用大尺寸、高清车载显示终端,并将中控屏幕、液晶仪表和
HUD
多屏结合,搭配个性化
UI
界面设计,实现信息分块分类,整合并分析多个信息流,将需要的
信息以最佳方式呈现给驾驶员,带来直觉化交互体验。图
4.3
描述了车载系统虚拟化的应用
情况。
在本车载的虚拟化技术方案中,
Hypervisor
直接跑在
A3900
芯片上,为
Service OS
创造
了第一个虚拟环境,然后启动
Guest OS
。
Service OS
以系统最高优先级的虚拟机运行,以满
足时间对敏感需求和系统服务质量的要求。
Service OS
运行本地设备驱动程序来管理硬件,
把
I/O
设备支持单独拿出来放在
OS
里是因为很多应用需要
I/O
资源的共享。
Service OS
会支
持数字仪表盘,
ADAS
的显示功能做在
ADAS
的
VM
里,
Android OS
、中控系统和后座娱乐
系统都有单独的虚拟机。