当前位置: 首页 > 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;所以如何能够写出简洁、优雅、健壮、可维护性强的程序至关重要。本系…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...