蔚来车载OS技术栈及行业情况调研

目录

1.情况概述

2.业内主流技术选型对比

3. QNX技术概论


1.情况概述

系统名称及版本 :NIO OS 2.0

技术栈:QNX+Android

2.业内主流技术选型对比

车载OS的主流系统如图所示:

从主流车企对车载OS的选择上来看,当前QNX、Linux(包含Android)仍是底层操作系统的核心玩家,无论是智能驾驶OS还是智能座舱OS基本都会采用QNX+Linux或者是QNX+Android的组合方式。

车载OS自上个世纪90年代逐渐兴起,尤其在软件定义汽车的大趋势下,车载OS已成为各家企业的必争之地。当前市场参与者众多,其中不乏传统国内外老牌OEM、新势力科技巨头及实力强劲的供应商。

目前,车载OS系统尚未有统一的国际标准,市场主要掌握在几家国外软件企业手中,包括黑莓的QNX、诸多基于Linux的定制操作系统以及基于Android开源项目的操作系统(其本身也基于Linux),而由微软发布的WinCE,随着Linux和Android的冲击,将逐步退出汽车操作系统市场。

当前车载OS市场大概包含着三种产品形式:一是系统厂商原有的基础型车载OS;二是深度修改内核的定制型车载OS;三是OEM基于供应商及自身定制化ROM型车载OS。而新玩家通常以定制型系统和ROM型系统以及超级APP等方式切入车载OS市场。

3. QNX技术概论

QNX是一个分布式、可扩展、遵从POSIX规范的类Unix硬实时操作系统。
QNX为微内核的架构,微内核只提供进程调度、进程间通信、底层网络通信和中断处理四种服务。驱动程序、协议栈、文件系统、应用程序等都在微内核之外内存受保护的安全的用户空间内运行,组件之间能避免相互影响,在遇到故障时也能重启

QNX Neutrino通过两个基本的原则,达到了独一无二的有效性、模块化和简洁性:

  • 微内核架构
  • 基于消息的进程间通信

 优点为启动速度快,且安全性稳定性大大提高。

QNX构架的微内核,和基于消息的进程通信机制保证了即使有一个进程出错,也不会影响内核。

各个服务进程以及应用进程之间通过内部进程通信IPC的方式进行沟通,如下图:

其他安全特性:

1.AP(Adaptive Partitioning)

有时候我们会遇到这样一种问题,某进程里有个bug,调试的时候发现该进程一起来整个一个核的CPU都满了,我们猜测系统内可能是出现了死循环。

自适应分区是QNX的重要特性之一,也是一个在开发调试阶段很好用的一个工具。在软件集成在QNX系统之后,开始优化整个系统之前,为了保护不同的应用群组/应用,独立运行而不被其他应用破坏或干扰,操作系统采用“虚拟墙(virtual walls)”将系统的共享资源(CPU执行时间/内存/存储空间等)以一定的比例划分,以确保每个分区都有一组经过工程设计的资源,每个分区内可以运行一个或多个线程。

分区能够提供:

  • 内存保护:提供内存保护,即每个分区是离散的,由内存管理单元控制(MMU);
  • 过载保护:提供过载保护,即根据系统设计人员的指定,每个分区都有一段执行时间。

自适应的含义是:在运行时可以改变配置。例如,空闲时间被重新分配给其他调度程序分区,系统会使用一种机制,使得CPU可以在一个时间分区之间临时移动线程。

2. HAM(High Availability Manager)

我们设计的软件系统,在很大的概率上是存在很多漏洞的,那么一旦发送故障,有没有什么办法能快速的使整个软件系统尽快恢复正常状态呢?

上电重启不是一个系统持续运行的好办法)

QNX提供了一套高可靠性的软件框架,当系统内的部分进行或线程失效时,通过这一套框架来进行系统的处理。这一套框架被称为HAM。其基本思想是:

  • 系统隔离:隔离系统中的问题区域,确保系统组件的独立,每个组件(进程)享有完全基于MMU的内存保护;
  • 多级恢复:HAM在系统出现问题是可以执行多级恢复,按特定的顺序执行多个操作(这在系统的各个进程间存在各种严格依赖关系的时候非常有效,这样系统就可以把自己恢复到bug前的状态)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值