“软件定义汽车”下的软件虚拟化技术

news2024/9/24 9:24:48

01.虚拟化技术概述

近年来,随着嵌入式软硬件的高速发展,嵌入式系统产品已融入日常生活的方方面面,在航空航天、车载电子、工业控制等要求更为严苛等领域的应用也更加广泛。特别对汽车领域,每辆车内ECU的使用数量已从21世纪初的30-50个飙升至上百个,其复杂程度也呈指数级上升,给汽车嵌入式软件的开发与测试带来极大挑战。引入虚拟化技术来应对复杂硬件所带来的挑战,成为了历史长河发展的必然。

虚拟化本质是提供一个虚拟的操作系统执行环境,让复杂多样的嵌入式程序(包括操作系统)能够并行运行在同一物理硬件环境上。自上世纪六十年代以来,虚拟化技术已形成一套合理且受业界认可的理论体系:运行在真实物理环境上的称为宿主机(host OS,Operating System),通过虚拟化技术实现的全系统运行环境称为虚拟机(Virtual Machine,VM),在虚拟环境中执行的操作系统称为客户操作系统(Guest OS)。

世界上第一位计算机博士David Wheeler说过,“计算机科学中的任何问题都可以通过增加一个中间层来解决”,因此虚拟化技术在硬件和客户操作系统软件之间引入了一个新层级,称之为Hypervisor或VMM(Virtual Machine Monitor),这一层级就可以简单理解为软件虚拟化技术。

02.如何理解Hypervisor

可以进行如此理解:一台电脑的硬件就好比一栋高层大楼,电脑中的诸多虚拟机就可看做大楼中的多套房屋。每个房屋都有各自的卧室(CPU)、储藏室(内存)和私人网线(网络资源),享受着独门独户的私密空间和生活设施。

但实际上,大楼的电梯、供水系统、电网是所有房屋共用的。也就是说,虽然每个房屋看似拥有专属资源,但其背后依赖的是全楼共享的基础设施。这些资源是由物理主机(大楼)统一提供并智能分配的,每个虚拟机只在需要时,按需使用共享资源的一部分。

Hypervisor就像这栋大楼的物业管理员,在幕后精心安排以确保每个虚拟机(房屋)既能安全、高效的享用所需资源,又不会互相干扰,就像住在独立的房屋中一样。

03.Hypervisor分类

在虚拟化技术的发展历程中,由于特点、用途、功能不同,出现了多个种类的虚拟化类型。大体上可以根据host OS的有无,或者Hypervisor是否直接运行在硬件上,将其分为Type-1型和Type-2型。

3.1 Type-1型Hypervisor

Type-1型也被称为裸机型Hypervisor,如下图所示,没有宿主操作系统,而是直接运行底层硬件之上,直接管理CPU、内存等真实资源的同时,向上层提供客户操作系统的抽象执行环境,常见的有VMware ESXi、Microsoft Hyper-V、Xen。

▲Type-1型Hypervisor

由于需要一定程度上融合操作系统的功能,Type-1型也被分为微内核架构和宏内核架构,刚才介绍的前两种属于宏内核Hypervisor产品,而Xen就是典型的微内核产品。

虽然Hypervisor能够为虚拟机提供更接近物理机的性能,但也存在显著的缺点与局限性:

1. 复杂性和部署难度:由于直接安装在物理硬件上,其安装与配置通常更为复杂,需要特定的管理工具来配置和管理虚拟机,这些工具可能需要额外的培训与学习成本。复杂装备中,高昂的硬件成本也会对后续测试与验证带来挑战。

2. 硬件兼容性:直接运行在硬件上导致Type-1型的硬件依赖性较强,如果硬件不支持或兼容性较差,就可能导致系统不稳定或性能下降。

3. 灵活性较低:无法轻松与现有的桌面操作系统集成,每次调整配置或测试新环境都需要直接在硬件上操作,系统更新与补丁管理也需要精心规划以减少对生产环境的影响。

3.2 Type-2型Hypervisor

Type-2型Hypervisor安装在操作系统上,依赖于基础操作系统提供服务,其寄生的宿主操作系统拥有对硬件平台和资源的全部控制权,包括CPU与物理内存。如下图所示,Hypervisor包含在Host OS中,并不直接与硬件交互:

▲Type-2型Hypervisor

此类Hypervisor可以使用宿主机的各种功能模块,如宿主机自身的调度模块等,充分利用宿主操作系统对物理硬件的管理功能,只需提供对客户操作系统的管理即可。这意味着,宿主操作系统首先启动并管理硬件资源,而后Hypervisor在宿主系统内部运行,并进一步创建和管理虚拟机。最具代表性的Type-2型硬件虚拟化产品为KVM(Kernel-based Virtual Machine),软件虚拟化产品则为SkyEye(详见下文)。

尽管可能在资源效率方面有所欠缺,但Type-2型相较Type-1型有着易用性和兼容性方面的巨大优势:

1. 易于部署和管理:直接安装在操作系统上,不需要额外的硬件配置或引导管理,能与更多种类的硬件兼容。

2. 使用体验与测试友好:Type-2型能直接在桌面操作系统中使用,通常带有图形用户界面(Graphical User Interface,GUI),用户可以更方便地创建、管理和操作虚拟机。

04.利用虚拟化技术模拟汽车嵌入式系统

对汽车领域而言,虚拟化技术的模拟可分为硬件虚拟化和软件虚拟化。硬件虚拟化由于需要使用和嵌入式系统CPU相同架构的平台,在采购成本上较为受限,仅能模拟同源架构,在外设虚拟化上的支持也较为逊色。

软件虚拟化则较好解决了上述问题,通过将汽车嵌入式系统硬件环境进行虚拟仿真实现更高的灵活性,资源分配也更为灵活,工程师可不受物理硬件的限制,随时访问目标系统,快速搭建虚拟硬件原型,提前进行开发、测试及验证工作。

05.应用案例

天目全数字实时仿真软件SkyEye,属于Hypervisor Type-2型的软件虚拟化工具,是符合“软件定义汽车”的工具软件。

作为一款国产自主的基于可视化建模的硬件行为级仿真平台,SkyEye目前已支持涵盖汽车ECU所用到的大部分处理器架构,如PowerPC、Tricore系列等,能够用于汽车BMS系统、汽车发动机管理系统等虚拟原型(即虚拟ECU)的搭建。

应用基于SkyEye的虚拟ECU,工程师可以:

  • 无需关心真实线缆繁琐的连接关系,工程一次搭建,持续可复用;
  • 具备真实CAN总线和INCA硬件的仿真能力,支持数量几乎无限制的仿真硬件;
  • 支持符合AUTOSAR协议的OS及应用程序的运行;
  • 集成原有标定上位机软件,外接Simulink模型模拟真实数据。

▲SkyEye汽车BMS系统仿真

除了通过虚拟化技术及数字孪生帮助快速构建所需ECU、有效缩短整车研发周期外,SkyEye还能帮助用户节省昂贵的硬件设备制造成本,无需对程序进行任何修改即可实现嵌入式软件的运行与调试,覆盖嵌入式软件开发全生命周期,真正实现嵌入式的“敏捷开发,降本增效”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2053596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

定时任务调度`crond` 和 `at` 命令使用

😀前言 本篇博文是关于 linux实操篇-定时任务调度crond 和 at 命令,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满…

【心酸报错】ImportError: failed to find libmagic. Check your installation

目录 报错信息:ImportError: failed to find libmagic. Check your installation按照网络上找的办法修改还是报错:LookupError:Resource punkt not found.下载nltk_data又报错:AttributeError: tuple object has no attribute page_content怀…

软件工程概述(下)

4、软件工程原理 (1)什么是软件工程? 软件工程是指导计算机软件开发和维护的一门学科。 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来&#xf…

【Qt】常用控件QCheckBox

常用控件QCheckBox QCheckBox表示复选按钮,可以允许选中多个。 QCheckBox继承自QAbstractButton 例子:获取复选按钮的取值 使用Qt Designer先大体进行设计 代码实现: #include "widget.h" #include "ui_widget.h"Widge…

【数学建模】趣味数模问题——舰艇追击问题

问题描述 某缉私舰位于走私船以东 d 10 km,走私船以匀速 u 8 km/h 向北沿直线行驶。缉私舰立即以速度 v 12 km/h 追赶。缉私舰使用雷达进行跟踪,保持瞬时速度方向始终指向走私船。求解缉私舰的追逐路线和追上走私船所需的时间。 方法 理论求解&…

阿里巴巴拍立淘API返回值:商品搜索与社交媒体的融合

阿里巴巴拍立淘API返回值在商品搜索与社交媒体融合方面展现出了巨大的潜力和价值。以下是对这一主题的详细分析: 一、拍立淘API在商品搜索中的应用 1. 技术原理 拍立淘API基于图像识别技术,利用深度学习算法对上传的图片进行智能分析,快速…

WebSocket协议解析与Java实践

文章目录 一、HTTP协议与HTTPS协议1.HTTP协议的用处2.HTTP协议的特点3.HTTP协议的工作流程4.HTTPS协议的用处5.HTTPS协议的特点6.HTTPS协议的工作流程 二、WebSocket协议出现的原因1. 传统的HTTP请求-响应模型2. 轮询(Polling)3. 长轮询(Long…

《向量数据库指南》——AI应用长文本与RAG技术爬坡

技术爬坡 长文本的技术爬坡方向 推理质量不能有所下降,如何在保质保量的做长文本的推理,是一件非常困难的事。 解决了能力问题之后,还要解决贵且慢的问题。前面讲到两个瓶颈,一个是推理成本会特别高,一个是首token会特别慢。在一个阶段解决好这两个问题之后,待上下文窗口…

深度学习基础案例3--构建CNN卷积神经网络实现对不同天气的识别(测试集准确率百分之90+)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 基础阶段目标目标 熟悉CNN、RNN神经网络,了解yolo、transfomer等模型熟练使用Pytorch框架,了解tensorflow 本次目标 了解CNN神经网络…

使用ToDesk云电脑3个月,这5个功能点越用越爽!

在过去的三个月里,小埋 有幸 深度 体验了ToDesk云电脑这一创新科技产品,它不仅彻底改变了我的工作方式,还让我在日常学习和娱乐中享受到了前所未有的便捷与高效。 下面就跟着小埋,一起来看看 ToDesk云电脑使用体验极佳的五大功能特…

解决银河麒麟V10登录循环的方法

解决银河麒麟V10登录循环的方法 一:进入命令行二:删除.Xauthority文件三:重启系统 💖The Begin💖点点关注,收藏不迷路💖 在使用银河麒麟桌面操作系统V10时,有时可能会遇到一个令人头…

JavaScript - 对象

Array 数组 定义 var 变量名 new Array(元素列表);//方式一 var 变量名 [ 元素列表 ];//方式二 访问 arr[ 索引] 值; 属性 length : 设置或返回数组中元素的数量 方法 forEach() : 遍历数组中每个有值的元素&…

Spring cloud alibaba(一)nacos

一、注册中心 作用:解决微服务之间复杂的调用关系; 实现思路: 服务注册:就是将提供某个服务的模块信息注册到一个公共组件上去 服务发现:就是新注册这个服务模块能够及时的呗其它调用者发现,不管是服务新增…

前端开发中的大屏布局方案:使用 rem 单位与动态设置 html 的 font-size

使用 rem 单位与动态设置 html 的 font-size 前言 随着设备尺寸的多样化,网页需要能够在不同大小的屏幕上提供良好的用户体验。传统的布局方式(如使用 px)在不同分辨率下可能会导致布局失真。为了解决这个问题,我们可以通过动态…

微分方程(Blanchard Differential Equations 4th)中文版Section3.3

具有实特征值的线性系统的相图 在前面的部分,我们看到直线解在求解某些线性微分方程系统的通解中起着主导作用。为了求解这样的系统,我们首先使用代数方法计算系数矩阵的特征值和特征向量。当我们找到一个实特征值和一个相关的特征向量时,就可以写出对应的直线解。此外,在…

Element-02.组件-Table表格

一.常见组件-表格 二.具体操作 <template><el-table:data"tableData"borderstyle"width: 100%"><el-table-columnprop"date"label"日期"width"180"></el-table-column><el-table-columnprop&q…

使用Apache POI和POI-OOXML实现word模板文档自动填充功能

最近接到一个新的需求&#xff0c;用户创建好模板文件保存到模板库&#xff0c;然后使用在线文档编辑器打开模板时&#xff0c;将系统数据填充到模板文件并生成新的word文件&#xff0c;然后在线编辑&#xff0c;研究使用Apache POI和POI-OOXML实现了这个功能。 Maven依赖 <…

AI提效实例-借助AI高效生成Markdown格式的超链接

我在学习谷粒商城的过程中&#xff0c;每集都写一篇博客笔记&#xff0c;为了方便查找&#xff0c;把所有博客都汇总到一起谷粒商城笔记汇总&#xff0c;如下。 现在一共有142篇笔记。 之前每发表一篇就把地址记录下来&#xff0c;虽然麻烦&#xff0c;还可忍受。 后来有点懈…

Pcie学习笔记(24)

Ordering and Receive Buffer Flow Control 流量控制(FC)用于防止接收端缓冲区溢出&#xff0c;并使其符合定义的排序规则。请注意&#xff0c;请求者使用流量控制机制来跟踪代理中可用的队列/缓冲区空间&#xff0c;如图2-48所示。也就是说&#xff0c;流控制是点对点的(跨一…

模型优化之剪枝

文章目录 什么是神经网络剪枝剪枝的好处不同粒度的剪枝剪枝的分类非结构化剪枝结构化剪枝 哪些层的参数更容易被剪掉剪枝效果 什么是神经网络剪枝 神经网络剪枝 在训练期间删除连接密集张量将变得稀疏&#xff08;用零填充&#xff09;可以通过结构化块&#xff08; n m nm nm&…