软件定义汽车,车载操作系统和中间件是什么
ahcoder 2024-12-24 10:32 39 浏览
前面两篇文章介绍了EEA硬件架构、软件架构和通讯架构的大体发展方向,这里再对一些基础且重要的概念进行梳理,作为补充。
中央计算平台
从功能域进化到位置域,再参照电脑和手机,最终成为一个中央计算平台,集成了座舱、自动驾驶、车控、网关等功能。
简单来看,计算平台是由众多“小SoC”进一步集合而成的“大SoC”,其架构会决定软件架构的设计方向。
分离式的架构,各单元的SoC运行不同操作系统,每个单元硬件和软件完全独立;硬件隔离式的架构,通过一颗强大的SoC运行多个操作系统,每个单元都有专属硬件资源,在硬件上独立;软件虚拟式的架构,一个强大的SoC运行多个操作系统,每个单元没有专属的硬件资源,全部由虚拟层调配。
操作系统
车载操作系统的基础是内核,决定着汽车软件架构的稳定性。
常用的内核有VxWorks、Unix(IOS)、Linux、QNX,其中VxWorks和QNX是微内核,能实现基本的任务管理、内存管理、进程通信等功能;而Linux和Unix属于宏内核,除微内核的基本组件外,还有网络、设备管理、文件系统等功能。
在内核基础上,通过增加应用开发框架、包管理、核心服务等组件,可以得到Android、AliOS等发行版本;而再基于Android,通过修改系统服务和操作界面UI,可形成MIUI、EMUI等ROM。
宏内核的Linux系统是分时操作系统,单个服务的崩溃往往意味着整个系统的崩溃;相比较而言,QNX作为微内核的实时系统比Linux更有优势。
但Linux是开源且免费的,相比于付费和半开源的QNX在生态上有优势;QNX在娱乐系统的竞争力更小,更多用在仪表、ADAS等与驾驶相关且要求高安全性的部件上。
Linux的内核组件比QNX复杂,对主机厂或供应商的开发能力也提出了极高的要求。
车载操作系统选择
操作系统需要芯片的支持,要兼容POSIX接口,更重要的是结合生态,特别是面向C端用户,是应用生态决定了生死。
操作系统的选择会基于成本、商业、生态等多方面考虑。
针对于智能座舱,核心是多媒体和互联网应用,主要关注应用生态和开发者生态,因此主要是跟随消费电子,大部分用的是Android,而特斯拉更想掌握自己的话语权,采用的是Linux。
针对于自动驾驶,核心是算法设计和数据积累,主要关注系统成熟,在Linux、QNX和VxWorks中,QNX比较安全和稳定,被采纳的较多。
对于网关及以太网交换机,算力要求高,但任务相对单一,架构简单,操作系统常采用Linux。
通讯协议
DDS和SOME/IP都是基于TCP/IP的一种应用层通信协议,相比于CAN,通信过程是面向服务而非信号,发送会考虑接收的需求,类似于一种订阅/发布机制,DDS和SOME/IP两者作用大同小异,DDS功能更强大。
中间件
中间件可以认为是一种广义操作系统,不同于内核,它是介于上层应用和底层系统之间的一套软件框架,充当着软件和硬件解耦的角色。
车企和供应商开发的操作系统,实际都是对内核做补充,开发中间件或裁减应用软件,其开发能力体现在其所开发底层操作系统的整体框架上,而框架又取决于操作系统与中间件的组合。
基于QNX内核做开发,一般是通过叠加定制的上层算法来完成中间件的设计;而基于Linux内核,则是先依据自身需求,对底层内核做软件裁减配置,再上层适配不同的中间层算法,因此Linux难度要大得多。
借助中间件,车企可以采用插拔式设计,将不同硬件配置进行统一定制化开发,然后根据需求进行软件(不同级别自动驾驶算法)和硬件(激光雷达选装)不同拓展。
汽车人参考小结
结合前两篇文章,这里梳理了电子电气架构EEA的三条主线,能够初步建立结构化的知识体系。
无论是集中式电子电气架构演进,还是操作系统、中间件等,其实对于终端用户来说都没有太多意义,基于技术变化能带来座舱和驾驶全新体验才是关键。
本文为汽车人参考第362篇原创文章,如果您觉得文章不错,“推荐和关注”是对我最大的支持。
相关推荐
- linux服务器--PVE(一)简介及安装(pve安装ifupdown2)
-
1.PVE(ProxmoxVirtualEnvironment)简介ProxmoxVirtualEnvironment基于debian,是一个完整的、开源的企业虚拟化服务器管理平台。它在一个平...
- 手把手教你!如何在 Linux 服务器中搭建 Sentinel 环境?
-
你在Linux服务器上搭建Sentinel环境时,是不是也遇到过各种报错,要么是启动失败,要么是配置后无法正常访问控制台?看着同事顺利搭建好,自己却一头雾水,别提多着急了!其实,很多互联网大厂...
- Linux高性能服务器技术总结(linux高性能服务器编程怎么样)
-
1服务器简介服务器是提供计算服务的设备,由于服务器需要响应用户请求,因此在处理能力、稳定性、安全性、可扩展性、可管理性等方面提出了较高要求。随着虚拟化技术的进步,云服务器(ECS)已经快速的在...
- 从 0 到 1:使用 Ansible 自动化运维 Linux 服务器全流程
-
Ansible是一款强大的IT自动化工具,广泛用于服务器配置管理、软件部署和任务自动化。本文将带你从零开始,学习如何使用Ansible对Linux服务器进行自动化运维,涵盖Ansibl...
- 诡异!Win11 “此电脑” 莫名现 Linux 图标,啥情况?
-
我这电脑出了个怪事儿,“此电脑”下面莫名其妙多了个Linux的图标,可我压根儿就没装过Linux系统啊!琢磨了一下,估计是系统可选功能里那个“适用于Linux的Windows子系统”插件搞的鬼。实例系...
- Linux基础运维篇:Linux 终端与 Shell 基础(第006课)
-
一、啥是终端?先搞懂「人和电脑对话的窗口」你可以把终端(Terminal)理解成一个「文字版的电脑操作台」。在Windows里,类似「命令提示符」或PowerShell;在Linux里,...
- 2025罗技大师系列智「简」大赛-罗技大师系列-MX KEYS S键盘评测
-
在2025罗技大师系列智「简」大赛中,MXKEYSS键盘凭借其卓越的设计与智能化体验,成为众多创作者的理想之选。本篇文章将深入评测这款键盘的核心功能、使用体验及创新亮点,帮助你了解它如何提升...
- Linux编辑命令vim(linux使用vim编辑文件)
-
1、vi编辑器简介vim是一个全屏幕纯文本编辑器,是vi编辑器的增强版,我们主要讲解的是vim编辑器。可以利用别名让输入vi命令的时候,实际上执行vim编辑器,例如:#定义别名...
- 全选是ctrl加什么?全选的快捷键是什么介绍
-
如何高效使用「全选」快捷键(Ctrl+A/A)提升工作效率在日常电脑操作中,"全选"是最基础却至关重要的功能之一。无论您是文字工作者、程序员还是普通用户,掌握全选快捷键都能极大提升操作...
- Linux命令大全(linux命令大全书)
-
个人博客:https://chunyu.work/文章较长,可以收藏备用常用快捷键(1)ctrl+c:停止进程(2)ctrl+l:清屏(3)善于用tab键(4)上下键:查找执行过的命令文件目录类(...
- Xshell是做什么用的?Xshell使用教程分享
-
Xshell是一款功能强大的终端模拟器,支持SSH1,SSH2,SFTP,TELNET,RLOGIN和SERIAL。通过提供业界先进的性能,Xshell包含了其他SSH客户端无法发现的功能和优势,作为...
- Java 开发者线上问题排查常用的 15 个 Linux 命令
-
作为Java开发者,线上环境的问题排查是日常工作的重要组成部分。熟练掌握Linux命令能大幅提升排查效率,快速定位进程异常、日志错误、性能瓶颈等核心问题。本文结合Java应用特点,整理1...
- Linux的常用命令就是记不住,怎么办?
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- 别再乱学 Linux 了!这 5 个核心技巧,让你效率飙升 10 倍!
-
在Linux学习的漫漫长路上,不少人犹如在黑暗中摸索的行者,四处碰壁,学习效果却不尽如人意。你是不是也曾在海量的Linux知识面前迷失方向,感觉自己投入了大量时间,却收效甚微?其实,掌握Li...
- Linux终端神器Terminator时隔1年回归,2.1.5新版发布
-
IT之家5月23日消息,科技媒体linuxiac今天(5月23日)发布博文,报道称Terminator在沉寂一年后,最新发布了2.1.5版本,在分割终端窗格时支持克隆SSH...
- 一周热门
- 最近发表
-
- linux服务器--PVE(一)简介及安装(pve安装ifupdown2)
- 手把手教你!如何在 Linux 服务器中搭建 Sentinel 环境?
- Linux高性能服务器技术总结(linux高性能服务器编程怎么样)
- 从 0 到 1:使用 Ansible 自动化运维 Linux 服务器全流程
- 诡异!Win11 “此电脑” 莫名现 Linux 图标,啥情况?
- Linux基础运维篇:Linux 终端与 Shell 基础(第006课)
- 2025罗技大师系列智「简」大赛-罗技大师系列-MX KEYS S键盘评测
- Linux编辑命令vim(linux使用vim编辑文件)
- 全选是ctrl加什么?全选的快捷键是什么介绍
- Linux命令大全(linux命令大全书)
- 标签列表
-
- linux 远程 (37)
- u盘 linux (32)
- linux 登录 (34)
- linux 路径 (33)
- linux 文件命令 (35)
- linux 是什么 (35)
- linux 界面 (34)
- 查看文件 linux (35)
- linux 语言 (33)
- linux代码 (32)
- linux 查看命令 (33)
- 关闭linux (34)
- root linux (33)
- 删除文件 linux (35)
- linux 主机 (34)
- linux与 (33)
- linux 函数 (35)
- linux .ssh (35)
- cpu linux (35)
- 查看linux 系统 (32)
- linux 防火墙 (33)
- linux 手机 (32)
- linux 镜像 (34)
- linux ip地址 (34)
- linux 用户查看 (33)