虚拟化操作系统介绍
车载平台有逐渐融合的趋势,车载 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 授权方式的开源虚拟机软件。
人机交互(HMI:Human-Machine Interface Technologies):该系统能够实现人与车之间的
交互,车主可通过该系统把握车辆信息并对车辆实施控制。输入端多样交互方式+输出端多屏
融合与个性化 UI 带来全新交互体验。
目前以按钮与触屏为主的输入方式造成驾驶者注意力分散,智能驾驶人机交互实现触摸、
语音控制、手势控制等多样化交互方式结合。智能驾驶人机交互综合采用语音控制、手势控
制等多样化的技术手段,给予驾驶者更好的交互体验[15]。智能驾驶人机交互通过中控屏幕、
液晶仪表和抬头显示多屏结合,以及个性化的用户界面(UI)设计,为驾驶者提供清晰的信
息提示。
目前,汽车中控屏、仪表盘显然已经不再拘泥于车辆基本数据显示,逐渐朝向智能化、
数字化转变,集成车辆状态、路况信息、车载导航设置、汽车控制等多重功能,驾驶者面对
驾驶过程中需要处理的大量的信息。本系统主控显示界面,拨打电话为最高优先等级,导航
界面拨打电话时,可以单独增加通话窗口,不退出导航界面。这就要求系统软件的操作系统,
通过虚拟化技术,可以轻松实现一屏多任务显示。
智能驾驶人机交互采用大尺寸、高清车载显示终端,并将中控屏幕、液晶仪表和 HUD
多屏结合,搭配个性化 UI 界面设计,实现信息分块分类,整合并分析多个信息流,将需要的
信息以最佳方式呈现给驾驶员,带来直觉化交互体验。图 4.3 描述了车载系统虚拟化的应用
情况。

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

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

  1. 基于intel x86+fpga智能驾驶舱和高级驾驶辅助系统硬件设计(二)

    系统功能架构及各模块功能介绍 智能驾驶舱和高级驾驶辅助系统是一个车载智能终端嵌入式平台,系统是一个能够运行 虚拟化操作系统的软件和硬件的综合体.本文的车载主机包括硬件主控处理器.电源管理芯 片.存储设 ...

  2. 计算机组成原理认识fpga,计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品.doc...

    计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品 目录 前言2 第一章 课程设计内容2 1.1 实验要求2 1.2 实验目的2 第二章 实验原理及方案2 2.1 实验 ...

  3. Mobileye高级驾驶辅助系统(ADAS)

    Mobileye高级驾驶辅助系统(ADAS) Mobileye is the global leader in the development of vision technology for Adv ...

  4. 汽车高级驾驶辅助系统ADAS激光雷达创新者Cepton与Growth Capital达成企业合并协议

    汽车高级驾驶辅助系统 (ADAS) 和车辆自动驾驶领域光感测距技术(激光雷达)的创新者Cepton Technologies, Inc.(以下简称"Cepton")将与Growth ...

  5. 高级驾驶辅助系统ADAS

    高级驾驶辅助系统ADAS   作者:张欣 译    来源:Auto Technology   司机.车辆和系统相互之间的影响是目前高级驾驶辅助系统(ADAS)面临的挑战.西门子Siemens VDO汽 ...

  6. 【自动驾驶】高级驾驶辅助系统(ADAS)

    [自动驾驶]高级驾驶辅助系统(ADAS) 参考 技术起底 | 高级驾驶辅助系统(ADAS) - 知乎 (zhihu.com) 详解智能汽车高级辅助驾驶系统:抬头显示.自适应巡航.碰撞预警.自动泊车 文 ...

  7. adas功能受限_高级驾驶辅助系统(ADAS)的主要功能有哪些?

    原标题:高级驾驶辅助系统(ADAS)的主要功能有哪些? 高级驾驶辅助系统应具备前向碰撞报警.车距过近报警.车道偏离报警,推荐交通标志识别.路口快速通过报警.行人碰撞报警.主动拍照功能. 高级驾驶辅助系 ...

  8. ADAS——高级驾驶辅助系统介绍

    ADAS即高级驾驶辅助系统.其主要功能并非是完全控制汽车,而是预先警告可能发生的危险状况,让驾驶人提早采取因应措施,避免交通意外发生. 早期的ADAS 技术主要以被动式报警为主:当车辆检测到潜在危险时 ...

  9. 汽车高级驾驶辅助系统ADAS功能盘点

    ADAS(advanced driver-Assistance systems) 高级驾驶辅助系统 下面将把adas功能按主要用到的传感器进行分类: 毫米波雷达: 长距离毫米波雷达 自适应巡航ACC( ...

最新文章

  1. android studio 首字母提示 设置 大小写敏感
  2. 有勇气的牛排---算法与数据
  3. Win10: tensorflow 学习笔记(3)
  4. Microsoft Visual Studio Code
  5. 蓝桥杯(java)阶乘计算,输入一个正整数n,输出n!的值。(高精度计算,用到数组)
  6. 操作系统(7)-进程、线程、协程的区别
  7. ideahtml标签不提示_「系统自带标签」如何帮门店区分价值顾客?| 早8点141期
  8. GDT蜘蛛侠 - 元搜索采集: 集成 百度,谷歌,搜搜,搜狗,有道 5大搜索引擎,其它可定制...
  9. 互联网公司忽悠员工的黑话,套路太深了。
  10. php sphinx 查询,php-Sphinx RT索引和SphinxQL查询
  11. 计算机网络数据链路层的错误检测与纠正之海明码的生成,解码
  12. lua数据结构php,Lua数据结构
  13. Oracle与MySQL的几点区别
  14. CheckBoxList 只能选2个选项
  15. 多媒体计算机主机系统,多媒体计算机系统的组成
  16. 暴力猴简单脚本 - 去除右键菜单、文本选择限制
  17. 软件工程pert图_《软件工程》软件项目管理实验
  18. 用c#语言制作点歌程序,c#实现KTV点歌系统
  19. CF卡插到时显示文件系统变RAW请问咋才能修复???
  20. Ubuntu20.04 + ROS Noetic 安装 Projectory Dave 仿真环境

热门文章

  1. 工作记录——PDF打印入库单
  2. 第十一章、后置处理Bean
  3. JavaScript在chrome浏览器实现录屏功能
  4. ios 地图黑屏_iOS11.2黑屏转圈圈怎么办?三种方法解决iOS11.2无限重启问题
  5. Laravel学习记录--LaravelDebugbar
  6. dayjs 获取上个月的今天
  7. datagrip 导出 Oracle 数据库结构和数据到sql脚本中
  8. 我的研究生论文的小总结 (以多标签方向为例)
  9. 二值图像最小外接矩形(正)
  10. OpenDDS内部关键的idl文件(InfoRepoDiscovery)