嵌入式Hypervisor:架构、原理与应用 阅读体验 +Hypervisor基础概念

电子说

1.3w人已加入

描述

前言

    通过阅读「嵌入式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 通过在同一硬件上提供多个独立的虚拟环境,为嵌入式系统带来了灵活性和安全性,是现代嵌入式设计的重要组成部分。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分