编辑推荐: |
本文主要介绍了辅助驾驶域控的核心技术-Hypervisor 相关内容。 希望对您的学习有所帮助。
本文来自于微信公众号阿宝1990,由火龙果软件Linda编辑、推荐。 |
|
一、Hypervisor的源头
在计算机领域,“hyper”作为前缀或独立术语,通常表示“超级”“超越”或“高度扩展”的含义。比如常见的hypertxt超文本,表示对文本的超级扩展。
Hypervisor明显是hyper+supervisor(监督者)得来,所以是对虚拟机的超级监视器的意思,也有翻译成虚拟机管理员的。

图 Hypervisor示意图,图片来自网络
IBM在1960年代开发的CP-40/CMS系统是首个实现Hypervisor概念的商用案例,用于大型机分时共享。
Gerald Popek与Robert Goldberg于1974年发表论文《Formal Requirements
for Virtualizable Third Generation Architectures》,首次系统化定义了虚拟化的理论框架,提出了Hypervisor需满足的三大原则(等价性、资源控制、效率),为现代虚拟化技术奠定基础。
很多科学事物先有实践,后有理论总结,这是很常见的,Hypervisor的发展历程关键节点:
1960s:IBM CP-40首次实现Hypervisor概念。
1974:Popek与Goldberg提出虚拟化理论框架。
2000s:Intel/AMD推出硬件虚拟化扩展(VT-x/AMD-V),推动全虚拟化普及。
Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,也称为虚拟机监视器(VMM)。它的主要功能是创建和管理虚拟机,将物理服务器的资源(如
CPU、内存、存储和网络等)进行抽象和分配,使多个虚拟机能够在同一台物理服务器上隔离运行。 其具体实现通常可以分为两类,即类型
1 Hypervisor(裸金属型)和类型 2 Hypervisor(托管型):
类型 1 Hypervisor(裸金属型)
这类 Hypervisor 直接运行在物理硬件上,无需额外的操作系统支持,因此具有更高的性能和效率,通常用于企业级数据中心和服务器虚拟化场景。
VMware ESXi简介:VMware 公司推出的一款企业级服务器虚拟化产品,被广泛应用于全球各种规模的企业数据中心。
特点:具有强大的管理功能和高可靠性,支持热迁移、存储 vMotion 等高级特性,能够在不中断业务的情况下对虚拟机进行迁移和资源调整。此外,它还提供了丰富的安全功能,如虚拟机防火墙、加密等,可有效保护企业数据安全。
应用场景:适用于对系统稳定性、性能和管理功能要求较高的企业级应用,如金融、电信等行业的数据中心。
Microsoft Hyper - V简介:微软公司开发的一款服务器虚拟化技术,是 Windows
Server 操作系统的一部分。
特点:与 Windows 生态系统深度集成,方便企业在现有的 Windows 环境中部署和管理虚拟机。支持动态内存分配、实时迁移等功能,可提高资源利用率和业务连续性。
应用场景:主要应用于以 Windows 服务器为主的企业环境,如企业办公系统、Exchange 邮件服务器等的虚拟化部署。
KVM(Kernel - based Virtual Machine)简介:基于 Linux 内核的开源虚拟化技术,它将虚拟化功能直接集成到
Linux 内核中。
特点:具有开源、免费、灵活等优点,可在多种 Linux 发行版上运行。支持多种硬件平台和操作系统,社区活跃,不断有新的功能和优化推出。
应用场景:广泛应用于开源社区、云计算平台以及对成本敏感的企业环境,如开源软件项目的开发和测试环境、云主机提供商等。
类型 2 Hypervisor(托管型)
这类 Hypervisor 运行在现有的操作系统之上,依赖于主机操作系统来管理硬件资源,通常用于个人计算机和开发测试环境。
VMware Workstation(计算机用户最熟悉的一种)简介:VMware 公司为个人用户和开发者提供的一款桌面虚拟化软件。
特点:功能强大,支持在同一台计算机上同时运行多个不同的操作系统和应用程序,方便进行开发、测试和学习。提供了直观的图形化界面,易于使用和管理。
应用场景:适用于软件开发人员、系统管理员和技术爱好者进行软件测试、系统实验和学习研究等。
Oracle VM VirtualBox简介:Oracle 公司开发的一款开源桌面虚拟化软件,可在多种操作系统上运行。
特点:具有跨平台、免费、易用等优点,支持多种虚拟机格式,可方便地导入和导出虚拟机。提供了丰富的网络和存储配置选项,满足不同的测试和开发需求。
应用场景:广泛应用于个人用户和小型企业,用于创建和管理虚拟机,进行软件测试、操作系统实验等。

图两种类型的Hypervisor,图片来自网络
Hypervisor的目的有二:
一个是隔离,是把一台大型物理机隔离成多台独立的逻辑计算机,每台逻辑上的计算机就是所谓虚拟机有自己逻辑上独立的处理器内存和各种外设(比如硬盘)。隔离到什么程度呢?一台虚拟机中了病毒,也无法传染到同一物理机上的其它虚拟机。
另一个是资源共享(池化)和提高资源利用率,一般被称为超分技术。比如内存超分,可以为不同虚拟机分配的内存之和超过物理内存总量,基本原则还是“谁来谁用,不用释放”。
二、 辅助驾驶域控为什么需要Hypervisor
无论是隔离角度和资源共享角度,辅助驾驶域控都需要Hypervisor。

图域控制器需要同时处理多传感器数据,不论是辅助驾驶还是舱驾一体,图片来自网络
2.1 对于专门的辅助驾驶域控,Hypervisor如下意义:
辅助驾驶域控制器需要同时处理多传感器数据(摄像头、激光雷达等)、路径规划、决策控制等任务,对算力需求极高。Hypervisor通过虚拟化技术将单一物理硬件(如高性能SoC芯片)划分为多个虚拟机(VM),分别运行不同的操作系统和应用,例如:
实时性要求高的任务(如车辆控制)运行在QNX等实时OS上;
AI算法(如图像识别)运行在Linux或Android上。
这样避免为每个功能部署独立ECU,降低硬件成本和功耗。
另外,辅助驾驶系统需满足ASIL-D等高安全等级要求。Hypervisor通过以下机制实现关键隔离:
资源分区:CPU、内存、I/O设备被严格分配给不同VM,防止恶意代码或故障跨虚拟机传播。
优先级调度:确保高优先级任务(如紧急制动)优先获取算力。
2.2 对于最新的舱驾一体域控,Hypervisor主要用于跨域(座舱域和智驾域)隔离和资源共享:
从隔离角度看,车辆中各类辅助驾驶功能的安全等级和实时性要求差异显著,例如紧急制动系统(AEB)需要毫秒级响应且不容许任何错误,而导航娱乐系统对实时性要求较低。Hypervisor
通过硬件虚拟化技术,能够在同一硬件平台上创建多个相互隔离的虚拟环境,将高安全等级的自动驾驶功能与低安全等级的信息娱乐功能分隔开来。这种隔离不仅防止低优先级任务抢占关键资源,导致高安全任务响应延迟,还能避免因娱乐系统遭受网络攻击而波及整个辅助驾驶系统,为车辆的安全运行构筑屏障。
在资源共享方面,随着汽车智能化程度不断提升,辅助驾驶域控需要处理的任务愈发繁杂,涵盖传感器数据融合、路径规划、图像识别等多个领域。若为每个功能单独配备硬件,会大幅增加车辆成本与布线复杂度。Hypervisor
能够高效调配 CPU、内存、存储等硬件资源,根据不同任务的优先级和需求动态分配,提高资源利用率。比如在车辆正常行驶时,可将更多计算资源分配给导航和信息娱乐功能;当检测到前方突发状况时,迅速将资源集中于紧急制动和避让等辅助驾驶核心功能,实现资源的灵活调度与最优配置,在降低硬件成本的同时,保障辅助驾驶系统高效运行。
未来,随着自动驾驶技术向更高等级迈进,Hypervisor 在辅助驾驶域控中的重要性将愈发凸显,持续推动汽车智能化发展。
比如,特斯拉HW3.0域控制器虽然不能严格定义为舱驾一体域控,但确实通过虚拟化隔离Autopilot系统与娱乐系统。
辅助驾驶域控制器(含舱驾一体域控)通常使用类型1 Hypervisor,如 QNX Hypervisor、Photon
Hypervisor等。
主要原因就是实时性好,一个字:快。Type 1 Hypervisor 直接运行在物理硬件上,无需额外的操作系统支持,具有更高的性能和效率,能够更好地满足辅助驾驶域控制器对实时性、可靠性和安全性的严格要求。它可以直接管理和分配硬件资源,为虚拟机提供更高效的运行环境,同时也便于进行安全机制的设计和实现,确保辅助驾驶系统的稳定运行。
提到的两款Hypervisor介绍如下:
QNX Hypervisor属于 Type 1 Hypervisor,是QNX Neutrino
RTOS的扩展实现。
作为一款实时操作系统,具有高可靠性、实时性与安全性,能够满足自动驾驶对系统响应速度和稳定性的严格要求。它采用微内核架构,通过将不同级别的组件放置在不同的
guest 操作系统中,实现了分离和隔离,可建立最小的可信计算基(TCB),有助于获得并维护ISO
26262等安全认证。此外,还支持多种芯片架构,能很好地适配自动驾驶域控制器中常用的硬件平台。
在汽车领域应用广泛,如华阳通用与QNX携手打造中国商用车新一代数字座舱域控制器,依托QNX系统的优势提供智能座舱域和智能驾驶域相关产品的整体解决方案。
Photon Hypervisor是基于I型 Hypervisor 宏内核架构,由国科础石推出。
可支持同时运行 Linux、Android 和 RTOS 等多个虚拟机操作系统,实现 CPU、内存、外设等硬件资源在操作系统间的有效隔离,满足功能安全和信息安全的要求。在
CPU 虚拟化方面,基于 ARMV8 的异常等级进行设计,Hypervisor 通常运行在 EL2
等级,GuestOS 的内核运行在 EL1 等级,GuestOS 的用户态运行在 EL0 等级,有效解决了不同态之间的切换问题。
适用于智能汽车等对硬件资源隔离和安全要求较高的场景,为辅助驾驶域控制器提供了可靠的虚拟化解决方案。
三、 Hypervisor技术精要
本文从隔离和资源共享两方面描述Hypervisor的核心技术。
隔离机制
Hypervisor的核心功能之一是提供严格的隔离环境,确保虚拟机(VM)之间互不干扰,保障安全性和稳定性。具体实现方式包括:
硬件资源隔离
1、CPU隔离:通过虚拟化指令集(如Intel VT-x、AMD-V)为每个VM分配独立的虚拟CPU(vCPU),并利用调度算法防止资源抢占
。
内存隔离:采用内存分页和地址空间映射(如EPT/NPT),确保VM仅能访问自身分配的内存区域,防止越界访问。
2、I/O设备隔离:通过设备直通(PCIe Passthrough)或虚拟化(如SR-IOV)为VM分配独占或虚拟化设备,避免冲突。
故障与安全隔离
3、当某VM崩溃时,Hypervisor会终止其进程并回收资源,不影响其他VM运行。
安全隔离通过硬件辅助技术(如SGX、TPM)和Hypervisor层加密实现,防止侧信道攻击和数据泄露。
4、实时性隔离
在嵌入式场景(如汽车电子)中,Hypervisor通过时间片轮转或优先级调度,确保高实时性任务(如ADAS)不受低优先级任务干扰
资源共享机制
Hypervisor在隔离基础上实现硬件资源的动态共享,提升利用率并降低成本:
1、动态资源分配
CPU与内存:根据VM负载动态调整vCPU核心数和内存大小,例如云平台弹性伸缩。
2、存储共享:通过虚拟磁盘(如VHD、QCOW2)或共享存储(NFS/iSCSI)允许多VM访问同一物理存储,支持快照和克隆。
3、设备虚拟化与复用
网络虚拟化:虚拟交换机(如Open vSwitch)将物理网卡抽象为多个虚拟网卡,供VM共享带宽。
GPU共享:通过虚拟化显存(如NVIDIA vGPU)或API转发(如DirectX虚拟化),支持多VM并行图形处理。
4、半虚拟化优化
修改Guest OS内核(如Xen的PV模式),使其直接调用Hypervisor接口,减少模拟开销,提升I/O性能
。
各个领域Hypervisor的典型应用对比

一般来说Hypervisor通过硬件辅助虚拟化与软件调度策略,在隔离与共享之间实现平衡:
隔离是基础,确保安全性、可靠性和实时性;
共享是目标,提升资源利用率并支持灵活部署。
两者结合使得Hypervisor成为云计算、边缘计算和嵌入式系统的核心技术。
下面,本文以具有代表性的内存超分技术单点展开,详述Hypervisor的资源共享:
依靠内存超分,可以为不同虚拟机分配的内存之和超过物理内存总量。
原理:内存超分利用了虚拟机内存使用的统计复用特性,即不是所有虚拟机在任何时候都会使用到分配给它们的全部内存。Hypervisor
通过跟踪虚拟机的内存使用情况,将物理内存动态地分配给那些实际需要内存的虚拟机,使得多个虚拟机可以共享物理内存资源,从而实现分配给虚拟机的内存总和超过物理内存总量。
实现方式:
透明页共享:Hypervisor 会检测多个虚拟机中相同的内存页面,只保留一份物理内存副本,供多个虚拟机共享。这样可以减少内存的实际使用量,为更多虚拟机分配内存提供空间。
内存压缩:对虚拟机中不经常访问的内存页面进行压缩,将压缩后的页面存储在物理内存中,以节省内存空间。当虚拟机需要访问这些页面时,再进行解压缩。
交换技术:将虚拟机暂时不用的内存数据交换到磁盘上的交换空间中,当需要时再从磁盘交换回物理内存。通过这种方式,在物理内存不足时,利用磁盘空间来扩展内存容量。
warning:虽然内存超分可以提高物理内存的利用率,但如果分配的虚拟内存过多,超过了物理内存和系统能够有效管理的范围,可能会导致系统性能下降,如频繁的内存交换会增加磁盘
I/O,导致系统响应变慢。因此,在实际应用中,需要根据物理服务器的性能、虚拟机的工作负载以及业务需求等因素,合理地设置内存超分的比例,以平衡资源利用率和系统性能。
这样就实现了魔术,凭空多出来许多内存。但是,本质上讲这只是用时间效率换空间的做法。
四、Hypervisor和虚拟化的关系
本文想澄清Hypervisor和虚拟化的关系。
Hypervisor并不等同于虚拟化,二者是相关但不同的概念。
1. 定义区别

2. 技术层级关系
包含关系:虚拟化技术包含Hypervisor,但还涉及其他组件(如虚拟设备驱动、资源调度算法等)
类比说明:类似"操作系统"与"进程调度器"的关系,前者是完整系统,后者是关键功能模块
3. 实现形式对比

4. 典型应用场景
仅需Hypervisor:单一服务器运行多个隔离OS(如云计算基础架构)
完整虚拟化方案:企业级虚拟化平台(如VMware vSphere包含vCenter+ESXi)
5. 常见误解澄清
错误认知:"使用Hypervisor就等于实现了虚拟化"
事实:还需配合资源监控、迁移工具等才能构成完整虚拟化方案
总体来说,Hypervisor是虚拟化的必要非充分条件,如同发动机之于汽车的关系。实际应用中二者常被混用,但在技术架构上存在明确层级差异。
五、舱驾一体域控制器中Hypervisor的典型实现
本文用舱驾一体域控制器来陈述Hypervisor的典型实现。
之所以用舱驾一体域控而不是专门的辅助驾驶域控来举例,是因为前者对资源共享的要求更高,更依赖Hypervisor技术。
在舱驾一体域控制器(Domain Controller)中,Hypervisor 是实现多系统隔离和资源调度的关键技术。以下是当前主流车型和方案中采用的
Hypervisor 实现 及其应用场景:
1. 主流 Hypervisor 实现


图 QNX智能座舱Hypervisor,属于type 1,图片来自网络
2. 典型应用场景
(1)高通平台 + QNX Hypervisor
芯片:SA8155/SA8295
案例:小鹏 G9、理想 L 系列
架构:安全域:QNX 运行仪表(ASIL-B)
娱乐域:Android 运行中控/副驾屏
智驾域:Linux 运行 ADAS 算法
(2)华为 MDC + ACRN
芯片:昇腾 610
案例:问界 M5/M7
架构:通过 ACRN 隔离 HarmonyOS(座舱)和 RTOS(智驾),共享 GPU 渲染资源
(3)英伟达 Xavier + 定制 Hypervisor
芯片:Xavier/Orin
案例:蔚来 ET7、智己 L7
架构:虚拟机运行 QNX(仪表)和 Linux(智驾),通过 PCIe 通道隔离
3. 技术趋势
混合 Hypervisor 方案:例如 QNX 管理安全关键功能 + Xen 运行娱乐系统(亿咖通
AMD 方案)
硬件辅助虚拟化:高通 SA8295 支持 ARMv8.4 虚拟化扩展,提升 Hypervisor
效率
功能安全集成:ISO 26262 ASIL-D级Hypervisor 成为舱驾一体标配(如QNX
Hypervisor 2.0)
4. 挑战与限制
实时性:智驾域需μs 级响应,传统 Hypervisor(如 Xen)可能引入延迟
资源竞争:GPU/NPU 需动态分配,避免座舱娱乐抢占智驾算力
六、总结
Hypervisor在车载电子,特别是辅助驾驶域控和舱驾一体域控的限制是很明显的。就是资源限制,世界上并无真正的魔法能无中生有,对计算资源也是如此。
不仅不能无中生有,Hypervisor本身的算法和计算开销,还会吃掉一部分宝贵的计算资源。
尽管如此,Hypervisor技术确实在本质上提高了资源利用率,把本来闲置的资源池化出来供有需要的功能取用。这种提高SOC和其它资源(比如内存,外存,IO等)利用率的做法被业界形象的称为“吃干抹净”。由于从切实上提高了硬件资源利用率,从长期来讲,Hypervisor还是智驾平权和车厂产品降本的有力工具。
|