0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虚拟化:用于车辆控制的整容提升

星星科技指导员 来源:嵌入式计算设计 作者:Will Keegan 2022-11-10 14:23 次阅读

作为FACE(未来机载能力环境)成功成果的证明,自FACE 2.0发布以来,几乎每个适用的军事项目对任务系统软件的强制性一致性要求都下降了。但是,即使FACE告知并指导战术任务系统软件设计的各个方面(通信,飞行控制,飞行地图和规划,驾驶舱显示等),车辆控制领域对FACE的采用持保留态度。交付安全关键型硬实时控制系统的必要性引发了人们对FACE多核操作系统段(OSS)固有的复杂性所阻碍的技术可行性的担忧。

最近在车辆控制项目(特别是基于多核处理器的项目)方面的经验已经证明,将CPU虚拟化作为一种强大的工具,可以补充操作系统解决软件组件之间的集成冲突,这些软件组件与平台要求在API [应用程序编程接口]兼容性和架构假设方面差异很大。

未来机载能力环境 (FACE) 标准将虚拟化主要视为一种硬件整合工具。但随着世界在无人驾驶车辆的发展中不断向前推进,整合车辆控制和任务系统计算的需求将成为强制性的,并且关注点将更加相关。鉴于虚拟化能够实现核心 FACE 原则,其中硬实时控制至关重要,因此值得进一步考虑虚拟化。

人脸的愿景

多年来,军事系统主要基于专有应用程序、中间件、操作系统和/或硬件。这种情况导致了一些问题,包括交货时间长、成本高以及重用现有技术的机会很少。在竞争性招标中对系统进行修改是不可能的,因为唯一有能力进行更改的供应商是原始系统的供应商。

FACE联盟 - 行业供应商,政府专家,学术界和客户之间的合作伙伴关系 - 旨在解决这些问题。在军用航空电子系统中使用开放标准的标准化方法有望降低实施成本,加速开发,确保稳健的架构和始终如一的高质量软件实施,并最大限度地增加重用机会。

航空电子系统中的虚拟化

嵌入式航空电子系统中多核虚拟化的许多好处都有据可查。将具有各种操作系统和应用程序的多台传统单板计算机 (SBC) 整合到单个多核虚拟化 SBC 中的能力被广泛认为是下一代航空电子设备最切实的好处。然而,CPU 虚拟化和虚拟机管理程序提供与实时性能、软件可组合性和架构健壮性相关优势的能力对于资深嵌入式软件社区来说鲜为人知。以下各节讨论在 FACE 参考体系结构上下文中应用的这些优势: 专用分区段,简化实时空间,提高可移植性和重用性。

专用分区段

在过去的十年中,通过CPU虚拟化在单个处理器上运行多个操作系统的能力有了相当大的进步。虽然底层硬件在IT世界中得到普及和普遍采用,但它具有对关注稳健性和可预测性的嵌入式工程师同样具有吸引力的功能。

在传统的平台软件设计中,每个处理器托管一个操作系统 (OS) 内核,负责管理内存分配、执行调度、中断路由、异常处理、外设控制和总线多路复用。现在,支持虚拟化的多核硬件现在能够容纳许多内核,每个内核都分配了不同类型和大小的资源子集。因此,可以在单个设备上实现多个独立的软件运行时,而不会受到公共内核的干扰和随之而来的共模故障危险。这些功能增强了与安全和安保问题相关的基本体系结构属性。

从安全角度来看,使用内置 CPU 虚拟化功能来隔离硬件安全功能,并将应用程序运行时服务与硬件控制接口分开,对于确保系统稳健性大有帮助。这种设计技术消除了通常被利用的威胁向量,这些威胁媒介会导致安全策略绕过、权限提升和完全失去 CPU 控制。

从安全角度来看,使用虚拟化分区功能(例如:

DMA 通道隔离

共享的最后一级缓存分区

内存总线带宽分配

独立的中断、事件和异常处理

在硬件级别以更高的保真度强化和控制软件分区的能力符合 FACE 的理想。图 1 中显示的图表介绍了由 FACE 参考体系结构的虚拟机管理程序实现的“硬件分区段”的概念。该描述显示了一个虚拟机管理程序,该管理程序在两个不同的 CPU 内核上隔离了两组软件。每组都配置了符合 FACE 标准的组件。每组软件在单个操作系统托管的设计上被授予更大的分区属性,其中设备驱动程序和内部服务是分开的。

[图1 |具有 CPU 虚拟化辅助硬件分区段的 FACE 配置示例。

poYBAGNsmPeAEIYgAAHmKgSwwXQ340.jpg

简化实时空间

在FACE中添加另一个部分将是一项重大任务。在操作系统下引入另一类技术和软件层对于对复杂性持谨慎态度的实时和安全意识开发人员来说似乎适得其反。但是,CPU 虚拟化提供的硬件分区和多路复用功能提供了在处理器上封装和映射关键任务的运行时功能子集的机会,该处理器同时托管具有固有更丰富的运行时和服务依赖关系的应用程序。

例如,假设车辆控制运行状况监视器应用程序(如 TMR [三模块冗余] 错误检测所需的高频多数投票 CBIT [连续内置测试]必须与多核处理器上的飞行计划应用程序一起运行。使用基于虚拟机监控程序的解决方案,而不是在共享相同网络堆栈和内核的同一操作系统上同时实现这两个应用程序,运行状况监控应用程序(如图 2 所示)可以是:

映射到单独的 CPU 内核

映射到单独的以太网 MAC

根据独立的线程调度算法运行

与正交中断和阻塞信号量隔离

与 DMA 和操作系统内核内存访问错误隔离

在优化的、简约的、符合 POSIX 标准的运行时环境中运行

pYYBAGNsmPmANrQ1AAHg0mPjKsA616.jpg

[图2 |具有独立实时分区的人脸配置示例。

对于希望简化最坏情况执行时间 (WCET) 分析的实时程序员来说,结果是一个理想的场景。然而,在线路可更换单元 (LRU) 级别,该平台保留了托管具有更丰富的传输服务段 (TSS) 和操作系统段 (OSS) 功能要求的应用程序的能力,这些应用程序不太关心时间和完整性危害。

可移植性和重用

军事程序经常受到板级支持包 (BSP) 非经常性工程 (NRE) 成本的困扰,如果内部平台软件更便携,则可以避免这些成本。众所周知,低级代码模块(尤其是驱动程序)在提供重用和互操作性的有价值的属性方面存在问题。

标准化操作系统内部内核接口是不切实际的,因为它们具有独特的设计和(在许多情况下)专有性质。但是,几类设备驱动程序自然独立于核心服务,需要最少的操作系统功能支持(如文件系统),可以通过虚拟机监控程序隔离,并通过标准进程间通信 (IPC) 接口与应用程序集成。

可以证明,设备可以独立于操作系统进行控制,并与其他组件集成,而无需嵌入专有的操作系统依赖项。考虑一个 OpenGL UA 应用程序,它只需要能够访问 GPU 设备接口的驱动程序。另一个示例:具有 TSS 兼容 I/O 接口的独立 MIL-STD-1553 服务,可用于 PCS [便携式组件段] 应用程序(参见图 3)。

poYBAGNsmPuAZJnuAAGsT06L1bQ202.jpg

[图3 |独立一致性单位 (UoC) 的示例。

TSS 层和本地应用程序运行时软件无需依赖资源映射和 IPC 传输的操作系统实现,而是具有足够的功能来定位依赖模块并与使用标准虚拟机管理程序提供的接口和服务集成。这种方法甚至可以遵循 FACE 一致性单位 (UoC) 包装要求。这一愿景并不牵强,因为诸如OASIS“VIRTIO”之类的虚拟化标准已经存在并且已经确立。正如FACE依靠POSIX来维护OSS的标准规范一样,VIRTIO也可以同样支持提议的硬件分区段。

虚拟化适用于人脸

FACE取得了巨大的成功。但迄今为止,FACE的可移植性和互操作性优势通常仅限于TSS层以上操作系统托管的任务系统软件。

使这种情况恶化的是,将军用航空电子设备瞄准无人系统的发展可能会看到任务系统与车辆控制计算领域的潜在界限减少,FACE的局限性变得更加令人恼火。

为了履行其章程,FACE必须满足车辆控制软件的需求。最近在车辆控制子系统方面的经验已经证明,虚拟化是降低平台软件复杂性的一种手段,可以划分出低级硬件控制访问,同时提供分区和互操作性接口的广为人知的架构优势。推进这些低级能力的标准化,可以弥合车辆控制开发在FACE合规性可行性方面的差距,而不会玷污现有FACE规定对任务系统开发的无可置疑的好处。

审核编辑:郭婷

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

    关注

    5083

    文章

    19129

    浏览量

    305372
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10868

    浏览量

    211828
  • 计算机
    +关注

    关注

    19

    文章

    7496

    浏览量

    87991
收藏 人收藏

    评论

    相关推荐

    深入KVM虚拟之构建高效、可扩展的虚拟环境

    目录 KVM虚拟 创建虚拟机 报错解决 虚拟介绍 kvm介绍 KVM部署(基于CentOS7) KVM管理界面安装 KVM web界面管
    的头像 发表于 11-26 17:22 254次阅读
    深入KVM<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>之构建高效、可扩展的<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>环境

    虚拟数据恢复—XenServer虚拟机数据恢复案例

    服务器虚拟数据恢复环境: 某品牌720服务器中有一组通过同品牌、型号为H710P的RAID卡+4块STAT硬盘组建的RAID10磁盘阵列。上层部署XenServer虚拟平台。1台
    的头像 发表于 11-08 10:32 149次阅读
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>数据恢复—XenServer<b class='flag-5'>虚拟</b>机数据恢复案例

    emc虚拟技术的应用场景

    在当今的数字化时代,企业面临着数据爆炸式增长和业务需求不断变化的挑战。为了应对这些挑战,企业需要灵活、高效且可扩展的IT基础设施。EMC虚拟技术正是在这样的背景下应运而生,它通过将物理资源抽象
    的头像 发表于 11-01 15:26 350次阅读

    云计算中的虚拟技术应用

    云计算中的虚拟技术是一种将计算机物理实体(如服务器、存储设备、网络设备)通过软件技术划分为多个虚拟实体的技术,每个虚拟实体可以独立运行操作系统和应用程序。以下是关于云计算中
    的头像 发表于 10-24 09:22 720次阅读

    RDC芯片SC2161(兼容AD2S1210)用于车辆电机角度控制

    RDC芯片SC2161(兼容AD2S1210)用于车辆电机角度控制
    的头像 发表于 09-24 09:41 413次阅读
    RDC芯片SC2161(兼容AD2S1210)<b class='flag-5'>用于</b><b class='flag-5'>车辆</b>电机角度<b class='flag-5'>控制</b>

    华纳云:OpenStack是虚拟管理平台吗?其工作原理是什么?

    OpenStack 就是一个虚拟管理平台吗?这样说并不准确。它们存在很多相似性,但并非完全相同。的确,OpenStack 和虚拟管理平台都位于
    的头像 发表于 09-23 14:20 318次阅读

    军营车辆管理:数字的未来

    数字智慧部队车辆管理方案在军事基地中的应用,标志着基地管理实现了划时代的进步。该系统融合了物联网、云计算等尖端科技,使得军用车辆管理迈入智能和自动
    的头像 发表于 09-09 16:36 530次阅读
    军营<b class='flag-5'>车辆</b>管理:数字<b class='flag-5'>化</b>的未来

    虚拟数据恢复—EXSI虚拟机误还原快照如何恢复数据?

    虚拟技术原理是将硬件虚拟供不同的虚拟机使用,一台物理机上可以有多台虚拟机。人为误操作或者物理
    的头像 发表于 09-09 11:56 378次阅读
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>数据恢复—EXSI<b class='flag-5'>虚拟</b>机误还原快照如何恢复数据?

    什么是虚拟机?什么是虚拟

    在日新月异的科技世界中,虚拟技术如同一座桥梁,连接着现实与数字的鸿沟,为我们打开了全新的计算维度。虚拟机,这一概念,自其诞生以来,就以其独特的魅力和强大的功能,深深地影响了软件开发、系统测试和云计算等多个领域。即使目前你还不了
    的头像 发表于 09-04 14:55 967次阅读

    虚拟数据恢复—XenServer虚拟平台数据恢复案例

    虚拟数据恢复环境: 某品牌R720服务器,4块STAT硬盘通过H710P阵列卡组建了一组raid10磁盘阵列。服务器上部署XenServer虚拟平台,
    的头像 发表于 07-30 13:18 268次阅读
    <b class='flag-5'>虚拟</b><b class='flag-5'>化</b>数据恢复—XenServer<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>平台数据恢复案例

    如何采用分区架构提升车辆的简易性

      各种车辆功能推陈出新,传统的域架构 (Domain Architecture)也面临挑战。本文将介绍交通运输行业如何采用分区架构 (Zonal Architecture)来提升车辆的简易性、效率
    的头像 发表于 07-11 15:59 667次阅读

    存储虚拟有哪些常见类型?有什么优点?

    和网络连接存储系统)的灵活数据迁移。 一、存储虚拟有哪些常见类型? 1、块级虚拟:块级虚拟
    的头像 发表于 03-07 16:47 1181次阅读

    虚拟软件栈有哪些防御措施

    虚拟软件栈是一种在物理服务器上运行多个虚拟机的技术,可以提高服务器资源的利用率和灵活性。然而,虚拟软件栈也带来了新的安全风险,因此需要采
    的头像 发表于 01-25 11:27 768次阅读

    RDMA RNIC虚拟方案

    主要包括Inifiband、RoCE以及iWARP。实现RDMA协议的I/O设备被称为RNIC。主流云服务提供商已经开始广泛部署RNIC,例如亚马逊云推出的弹性网络适配器(Elastic Network Adapter,ENA)[1]。同时,云服务提供商通过硬件虚拟技术
    的头像 发表于 01-23 17:23 1997次阅读
    RDMA RNIC<b class='flag-5'>虚拟</b><b class='flag-5'>化</b>方案

    超融合和虚拟的区别

    超融合和虚拟是当今IT领域非常热门的两个概念,它们都是为了提高数据中心的效能和灵活性,但在实现方式和功能上存在一些区别。本文将详细讨论超融合和虚拟的定义、原理、特点、优缺点以及它们
    的头像 发表于 01-15 10:36 4271次阅读