当前位置: 首页 > news >正文

基于intel soc+fpga智能驾驶舱和高级驾驶辅助系统软件设计(三)

虚拟化操作系统介绍
车载平台有逐渐融合的趋势,车载 SoC 的计算性能和应用快速增长,面临着多种应用在
多个显示子系统融合在一起的问题,这就要求平台运行多个操作系统。虚拟化(Virtualization
技术飞速发展,系统虚拟化是虚拟化技术中的一种,随着目前 CPU 技术和性能的极大发展,
虚拟化技术真正商用的时机已经到来。系统虚拟化是指将一台物理计算机系统虚拟化为一台
或多台虚拟计算机系统。每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬件(比如
CPU、内存和设备等),来提供一个独立的虚拟机运行环境。通过模拟虚拟化层,虚拟机中的
操作系统认为自己仍然是独占一个系统在运行。每个虚拟机中的操作系统可以完全不同,并
且执行环境是完全独立的。系统虚拟化的架构如图 4.1 所示。
在虚拟环境中,物理资源称为宿主(Host),虚拟出来的资源称为客户(Guest)。比如说,
把一个物理计算机虚拟成多个虚拟计算机,那么这个物理计算机被称为宿主机(Host Machine),
在其之上运行的虚拟机被称为客户机(Guest Machine)。宿主机上运行的操作系统称为宿主机
操作系统(Host OS),那虚拟机中运行的操作系统被称为客户机操作系统(Guest OS)。
4.1.1 车载虚拟化系统架构
一般虚拟化系统由三个部分组成:硬件、虚拟机监控器和虚拟机。通过在硬件底层处理
器上构建一个虚拟层,实现信息娱乐系统、仪表屏系统等多操作系统的同时、独立运行,从
而维护整个汽车系统的安全[14]。当娱乐系统的应用出现问题时,不会影响仪表系统的应用的
正常运行。能够满足不同需求、有着不同安全要求的软件能够实现共存共用。同时通过虚拟
技术,不同功能系统、软件之间能够图像、驱动器共享,实现中控屏、仪表屏、后座娱乐屏、
HUD 投影屏之间的无缝互动、信息融合。图 4.2 描述了本系统虚拟化操作系统总体架构框图。

通常来说,虚拟机监控器(VMM)对物理资源的虚拟要归纳三个主要任务:处理器(CPU
虚拟化、内存虚拟化和 I/O 虚拟化。虚拟机是由虚拟处理器、虚拟内存和虚拟 I/O 设备等组
成。VMM 的主要功能就是基于物理资源来创建相对应的虚拟资源,组成虚拟机,为客户机
操作系统提供虚拟的平台。
处理器虚拟化就需要实现多操作系统共享 CPU,对 CPU 的分配是可配置的,通过灵活的
配置手段,实现虚拟 CPU 和硬件 CPU 的不同映射,满足实际 CPU 的分配需求。也解决了在
不同架构 CPU 间通信的问题。内存虚拟化就可以实现各虚拟节点间的内存高效共享,做到合
理的资源分配。I/O 虚拟化解决了外围设备虚拟化的问题,根据实现应用,对外围设备作虚拟
化与共享处理,包括音频、视频、输入视频解码、存储设备、USB 设备等。
本车载虚拟化操作系统能够提供非常好的硬件资源共享的支持,包括数字仪表盘、车载
娱乐系统、后座娱乐系统。在车载领域,有较多的图像处理的共享,摄像头收集的各类图像
需要及时的共享在不同的显示终端,以及音频资源等外设的共享,不同的显示终端播放不同
的节目源。考虑到整体系统的安全问题,IVI RSE 系统分别作为隔离的虚拟机运行。
4.1.2 系统虚拟化的应用
虚拟化技术经过很多年的飞速发展,市场中已出现了很多比较成熟的产品,从最早期的
服务器、桌面、工业、消费电子到现在的智能汽车等领域。比如说 Xen 是一款比较成熟的典
型的商业化产品应用,它基于 GPL 授权方式的开源虚拟机软件。
人机交互(HMIHuman-Machine Interface Technologies):该系统能够实现人与车之间的
交互,车主可通过该系统把握车辆信息并对车辆实施控制。输入端多样交互方式+输出端多屏
融合与个性化 UI 带来全新交互体验。
目前以按钮与触屏为主的输入方式造成驾驶者注意力分散,智能驾驶人机交互实现触摸、
语音控制、手势控制等多样化交互方式结合。智能驾驶人机交互综合采用语音控制、手势控
制等多样化的技术手段,给予驾驶者更好的交互体验[15]。智能驾驶人机交互通过中控屏幕、
液晶仪表和抬头显示多屏结合,以及个性化的用户界面(UI)设计,为驾驶者提供清晰的信
息提示。
目前,汽车中控屏、仪表盘显然已经不再拘泥于车辆基本数据显示,逐渐朝向智能化、
数字化转变,集成车辆状态、路况信息、车载导航设置、汽车控制等多重功能,驾驶者面对
驾驶过程中需要处理的大量的信息。本系统主控显示界面,拨打电话为最高优先等级,导航
界面拨打电话时,可以单独增加通话窗口,不退出导航界面。这就要求系统软件的操作系统,
通过虚拟化技术,可以轻松实现一屏多任务显示。
智能驾驶人机交互采用大尺寸、高清车载显示终端,并将中控屏幕、液晶仪表和 HUD
多屏结合,搭配个性化 UI 界面设计,实现信息分块分类,整合并分析多个信息流,将需要的
信息以最佳方式呈现给驾驶员,带来直觉化交互体验。图 4.3 描述了车载系统虚拟化的应用
情况。

 

 

在本车载的虚拟化技术方案中,Hypervisor 直接跑在 A3900 芯片上,为 Service OS 创造
了第一个虚拟环境,然后启动 Guest OSService OS 以系统最高优先级的虚拟机运行,以满
足时间对敏感需求和系统服务质量的要求。Service OS 运行本地设备驱动程序来管理硬件,
I/O 设备支持单独拿出来放在 OS 里是因为很多应用需要 I/O 资源的共享。Service OS 会支
持数字仪表盘,ADAS 的显示功能做在 ADAS VM 里,Android OS、中控系统和后座娱乐
系统都有单独的虚拟机。

 

相关文章:

基于intel soc+fpga智能驾驶舱和高级驾驶辅助系统软件设计(三)

虚拟化操作系统介绍 车载平台有逐渐融合的趋势,车载 SoC 的计算性能和应用快速增长,面临着多种应用在 多个显示子系统融合在一起的问题,这就要求平台运行多个操作系统。虚拟化(Virtualization) 技术飞速发展&#xff0…...

什么?年终奖多发1块钱竟要多缴9.6W的税

对于大多数的工薪阶级来说,目前现行的个人所得税适用于全年累计收入一次性税收优惠。 有可能有的人不理解一次性税收优惠是什么意思,所以这里我首先解释下什么是一次性税收优惠,然后在讲一下为什么明明公司多发了钱,到手反而会更…...

动态绑定右键菜单控件

一、动态绑定右键菜单控件 /// <summary> /// 通过递归获取执行控件 /// </summary> /// <typeparam name"T"></typeparam> /// <param name"c"></param> /// <pa…...

JavaScript基础三、数据类型

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…...

Python 随机漫步

目录 1. 创建 RandomWalk 类 2. 选择方向 3. 绘制随机漫步图 4. 总结 本篇博客将使用 Python 来 生成随机漫步数据&#xff0c;再使用 Matplotlib 库&#xff0c;将以引人注目的方式将这些数据呈现出来。 随机漫步 顾名思义就是随机走出的步伐&#xff0c;它是这样行…...

Spark SQL优化机制

Spark SQL优化机制Spark SQLCatalyst 优化器逻辑优化物理优化TungstenUnsafe RowWSCGRDD 缺点 : RDD的算子都是高阶函数 &#xff0c;Spark Core 不知函数内的操作&#xff0c;只能闭包形式发给 Executors&#xff0c; 无法优化 DataFrame 不同点&#xff1a; 数据的表示形式…...

十五、Spring中的八大模式

1 简单工厂模式 BeanFactory的getBean()方法&#xff0c;通过唯一标识来获取Bean对象。是典型的简单工厂模式&#xff08;静态工厂模式&#xff09;&#xff1b; 2 工厂方法模式 FactoryBean是典型的工厂方法模式。在配置文件中通过factory-method属性来指定工厂方法&#x…...

GrabCut算法、物体显著性检测

图割GraphCus算法。利用颜色、纹理等信息对GraphCut进行改进&#xff0c;形成效果更好的GrabCut算法。 对图像的目标物体和背景建立一个K维的全协方差高斯混合模型。 其中&#xff0c;单高斯模型的概率密度函数用公式表示为&#xff1a; 高斯混合模型可表示为n个单高斯模型的概…...

亚马逊、速卖通、lazada店铺一直不出单,没流量怎么办?

近几年&#xff0c;跨境电商入驻的卖家越来越多&#xff0c;平台的流量越来越分散&#xff0c;导致店铺没有流量没有订单的情况经常发生&#xff0c;因此卖家对店铺的优化尤为主要。 对于亚马逊卖家来说&#xff0c;几乎每天都会问虽然我把我的产品放在货架上&#xff0c;但没…...

深度剖析C语言符号篇

致前行的人&#xff1a; 人生像攀登一座山&#xff0c;而找寻出路&#xff0c;却是一种学习的过程&#xff0c;我们应当在这过程中&#xff0c;学习稳定冷静&#xff0c;学习如何从慌乱中找到生机。 目录 1.注释符号&#xff1a; 2.续接符和转义符&#xff1a; 3.回车与换行…...

【学习总结】ORBSLAM3使用自己相机数据

本文仅用于自己学习总结。本文档记录如何修改ORBSLAM3的接口&#xff0c;用自己的图片和数据。 单目视觉&#xff0c;无IMU&#xff0c;离线数据运行的配置过程 euroc_examples.sh 首先从euroc_examples.sh这个运行指令改。这个文件在最新版的代码中被删掉了&#xff0c;但通…...

C++单例模式实现

目录 1.提出的需求 ​​​​​​​2.如何定义一个类&#xff0c;使得这个类最多只能创建一个对象&#xff1f; ​​​​​​​3.代码 ​​​​​​​4.小结 C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 ​​​​​​​1.提出的需求 在架构设计时&am…...

343. 整数拆分

343. 整数拆分 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。示例 2: 输入: n 10 输出: 36…...

SCAFFOLD: Stochastic Controlled Averaging for Federated Learning学习

SCAFFOLD: Stochastic Controlled Averaging for Federated Learning学习背景贡献论文思想算法局部更新方式全局更新方式实验总结背景 传统的联邦学习在数据异构(non-iid)的场景中很容易产生“客户漂移”(client-drift )的现象&#xff0c;这会导致系统的收敛不稳定或者缓慢。…...

第十四届蓝桥杯三月真题刷题训练——第 3 天

目录 题目1&#xff1a;门牌制作 题目描述 运行限制 代码&#xff1a; 题目2&#xff1a;货物摆放_long 题目描述 答案提交 运行限制 代码&#xff1a; 题目3&#xff1a;跳跃_dp 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码&#xff1a; 题目4&a…...

变量的四大存储类型static extern auto register

变量的四大存储类型static extern auto register外部变量&#xff08;全局变量&#xff09;extern----全局静态存储区定义 引用性声明❗易错点&#xff1a;函数之外未定义的变量一般是外部变量 extern全局变量 与 局部变量的区别‼️ 谨记&#xff1a;声明可以多次&#xff0c;…...

JavaScript基础五、语句

零、文章目录 文章地址 个人博客-CSDN地址&#xff1a;https://blog.csdn.net/liyou123456789个人博客-GiteePages&#xff1a;https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee&#xff1a;https://gitee.com/bluecusliyou/TechLearnGithub&#xff1a;https:…...

青龙面板399乐园

1.拉库 ql raw https://wjkjy.cn/wp-content/uploads/2023/03/1678104978-afaecb98a9df61e.js 2.抓包 7.26 399乐园 每天 七八毛左右 脚本已完成全部任务&#xff0c;自动提现 下载链接&#xff1a;https://3mao.lanzoul.com/izGDh084oogh 抓包链接 https://339.mhhuanyue.c…...

自动化注册组件

// components/index.js export default { install(app) { const req require.context(‘./’, false, /.vue$/) // console.log(req, ‘req’) req.keys().forEach((item) > { // console.log(item, ‘item’) const com req(item).default // console.log(com, ‘com’)…...

【JS代码优化一】分支优化篇

序&#xff1a;如何让代码看起来更优雅&#xff1f;代码是由文字堆叠起来的可以被机器执行的程序。它记载着相关信息&#xff08;状态&#xff09;、表达相关的情绪&#xff08;函数&#xff09;&#xff0c;所以如何能够写出简洁、优雅、健壮、可维护性强的程序至关重要。本系…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...