电子说
前言
通过阅读「嵌入式Hypervisor:架构、原理与应用」我对Hypervisor这个概念有了较为全面的理解。
本书探讨了嵌入式Hypervisor(虚拟机监控程序)作为嵌入式系统软件的前沿技术,重点关注其在复杂应用场景中的重要性。随着对高性能和低功耗嵌入式系统需求的增加,嵌入式Hypervisor成为优化有限资源、实现异构操作系统安全隔离的关键解决方案。
尽管在多个领域已有广泛应用,专门分析嵌入式Hypervisor的书籍仍较为匮乏。本书采用分离内核架构,结合PRTOS Hypervisor,深入剖析其设计与实现技术,并讨论对实时操作系统及Linux的虚拟化支持,旨在帮助读者理解异构操作系统开放平台的生态优势。
嵌入式Hypervisor是一种用于虚拟化的技术,尤其在嵌入式系统中应用广泛。它允许多个操作系统或应用程序在同一硬件平台上并行运行,从而提高资源利用率和系统的灵活性。
什么是Hypervisor
Hypervisor(虚拟机监控程序)是一个用于创建和管理虚拟机的软件层。它允许在同一物理硬件上同时运行多个操作系统实例。这种技术广泛应用于服务器虚拟化、云计算和资源隔离等场景。
传统操作系统内核的功能是在底层硬件上提供抽象层,在多个用户空间的应用程序之间分配和调度资源(包括CPU、内存、I/O外围设备),职责是在操作系统上托管用户空间的应用程序。Hypervisor同样具备托管职责,但托管的是多个客户操作系统。操作系统内核一般被称为主管(Supervisor),而虚拟机监控程序用来托管主管,因此被称为超级主管,即Hypervisor。Hypervisor有时候也被称为虚拟机管理器(Virtual Machine Manager,VMM)或者虚拟机监控器(Virtual Machine Monitor,VMM)。
Hypervisor使得单个物理硬件平台可支持一个或者多个虚拟机,虚拟机间彼此互不干扰。即使一个虚拟机中的应用程序发生崩溃或安全性损害,其他虚拟机中的应用程序仍可正常运行。因此Hypervisor既可以提高硬件利用率和系统管理的灵活性,也可以使虚拟机之间强制隔离,从而保证整个软件系统的安全性。故实现Hypervisor的关键技术(虚拟化技术)非常重要。
嵌入式Hypervisor
嵌入式 Hypervisor 是一种虚拟化技术,专门设计用于嵌入式系统中。它允许在同一硬件平台上同时运行多个操作系统或应用程序,提供资源隔离和管理,从而提高系统的灵活性和安全性。
主要特点
(1)高效性。Hypervisor一般都力求提高效率,但嵌入式Hypervisor受到内存、外围设备、功耗等方面的限制,必须能够非常精简且高效地使用硬件资源。
(2)代码量小。应用程序的代码量越少,就越容易查找错误。一些嵌入式Hypervisor的供应商就是通过数学方法验证Hypervisor有没有错误。Hypervisor是系统中唯一以特权模式运行的软件,Hypervisor包含的错误越少,平台就越安全可靠。
(3)多核系统支持。目前,新的嵌入式处理器普遍利用多核架构来提高性能,嵌入式Hypervisor可以管理底层架构,为遗留应用程序提供单处理器环境,同时有效支持多核处理器进行系统设计。
(4)实时性。具有实时性要求的虚拟机内部应用程序必须以可预测的方式执行。虚拟机应用的实时性受到底层软件(即Hypervisor和客户操作系统)和硬件的影响。从Hypervisor的角度来说,可预测性涉及Hypervisor所提供的服务以及虚拟机中的客户操作系统。嵌入式Hypervisor提供给虚拟机的服务必须具有可预测性,以满足虚拟机的确定性要求。比如对无人机系统来说,Hypervisor可以保证飞控系统和第三方应用程序(图传系统)共享硬件平台并相互隔离,并保障运行飞控系统的虚拟机满足实时性要求。
应用领域
(1)在航空领域,ARINC653标准已经是IMA(Integrated Modular Avionics,综合模块化航空电子设备)架构的标准应用接口,符合ARINC653标准的Ⅰ型Hypervisor是航空电子系统领域的基础软件。
(2)在车载领域,汽车通过在若干个互相隔离的虚拟机上分别运行车载娱乐操作系统、AUTOSAR(汽车开放系统架构)操作系统和RTOS,使得软件系统可以在异常检测、故障隔离方面开展更多工作,并确保一旦出现问题,故障也能够在早期被识别和处理,避免故障向其他领域蔓延。
(3)在工业领域,目前,工业领域中的设备和传感器越来越多地与互联网连接,Hypervisor可以用于管理和隔离这些设备之间的不同应用程序,以确保安全性和可靠性。4)在医疗领域,安全性和隔离性至关重要。Hypervisor可以简化功能组件的更新过程,通过在虚拟机级别进行更新,减少对整个设备的干扰;Hypervisor支持冗余配置和备份虚拟机,确保即使在硬件或软件发生故障的情况下,设备仍然可用。
主流的嵌入式Hypervisor产品
国外RTOS厂商的Hypervisor产品
嵌入式Hypervisor在国外起步较早,在任务关键型和安全关键型嵌入式场景中已经得到了广泛的应用。其中Wind River公司的VxWorks 653、Lynx公司的LynxOS-178B和LynxSecure、Thales公司的PikeOS、DDC-I公司的DeOS以及Green Hills软件公司的INTEGRITY Multivisor等都是这方面的典型代表。VxWorks 653是应用在航空领域的、遵循ARINC653设计规范的Hypervisor。分区是ARINC653中的一个核心概念。采用ARINC653标准的操作系统架构分为两级,底层是CoreOS(即Hypervisor),负责分区间的管理和调度;CoreOS的上层是POS(Partition OS,分区OS),即分区操作系统,也就是客户操作系统。POS的上层才负责应用程序的执行。
VxWorks 653是典型的ARINC653软件架构,如图所示。
Lynx公司的LynxOS-178B也是面向航空领域的、遵循ARINC653设计规范的Hypervisor,其架构如图所示。
PikeOS架构如图所示。PikeOS主要应用于航空电子、航天、铁路、汽车、医疗和工业自动化领域。
总结
嵌入式 Hypervisor 通过在同一硬件上提供多个独立的虚拟环境,为嵌入式系统带来了灵活性和安全性,是现代嵌入式设计的重要组成部分。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !