【CSDN 编者按】智能汽车正在被软件定义,而以软件为中心的新架构也对下一代汽车的基础软件,包括其核心操作系统,提出了新的要求。未来整车厂的核心能力将发生怎样的变化?本文将从未来汽车的新定义出发,探索下一代智能汽车的操作系统发展趋势。

作者 | Michael Yuan

出品 | 《新程序员》

今天一辆普通汽车上有1.5亿行代码,是波音787飞机代码量的10倍。汽车已经成为软件工程的一个重要方向。由于汽车对安全性、可靠性、实时性,和传感器带宽、AI算力的高要求,及其复杂的软件供应链生态,智能汽车会催生下一代计算操作系统。从基础软件过去30年的发展历程来看,我们认为汽车软件生态一定会开源,会给程序员带来更广阔的机会。

CSDN付费下载自东方IC

软件定义的汽车

与20年前的数据中心类似,传统汽车是经典的“硬件隔离软件”架构。每一辆量产车有50+软件供应商,要让这么多软件模块安全可靠地在同一辆车上运行,传统的方法是让每一个供应商把软件封装在自己的计算机硬件里面。这些供应商封装提供的计算机叫作ECU。每个ECU里面有一套完整的芯片、存储、操作系统与应用软件,ECU之间只通过简单的实时网络传输信息,从而达成隔离不同供应商软件的目的。今天每一辆汽车有100~150个ECU,其软件的复杂性已经很难管理。

因而,以Tesla为代表的“造车新势力”开始采用以软件为中心的架构,新一代智能汽车也不再有100+ECU,而是拥有一台到几台通用计算机。供应商的软件作为模块运行在这些计算机上,隔离不同供应商模块的不再是硬件与网络,而是软件容器,这就是“软件定义的汽车”。而以软件为中心的新架构对下一代汽车的基础软件,包括其核心操作系统,提出了新的要求。

智能汽车操作系统之争

目前,智能汽车正在从ECU向“软件定义”过渡,车企不能一步到位,走到每辆车只有一台超级计算机的架构,只能过渡到每辆车3~4个“域计算机”(也称“域控制器”),其中有两个很重要的域:ADAS域与座舱域。

  • ADAS域计算机管理着汽车自动驾驶的传感器、AI推理、决策与控制。

  • 座舱域计算机管理着汽车座舱的控制与用户交互体验。

这两个域的操作系统并不相同。在座舱域中,车企一般使用的是Android系统,或者是剪裁版的Linux,以保证大量应用程序的兼容性。座舱里的Linux与Android系统使用开源的底层操作系统,有巨大的开发者社区。其上层的应用App可以是开源或闭源的。

在ADAS域中,车企一般使用商业的实时操作系统,如QNX与VxWorks等。ADAS的底层操作系统一般不开源,而应用虽然有开源的,如Autoware与百度的Apollo,但是绝大部分算法、传感器集成以及推理应用都是不开源的。

当然,这两个域的操作系统也有重叠的地方。例如,座舱域中显示驾驶数据的屏幕(车速、自动驾驶信息)一般是用QNX,以保证实时的数据读写。在座舱内,对Android、Linux与QNX的需求还产生了专门的Hypervisor虚拟化解决方案,如OpenSynergy,能让几个操作系统用虚拟化的方式运行在同一个硬件计算机上。

因而,未来“软件定义的汽车”有很大几率会从几个域进一步进化为一个超级计算机。这个计算机需要一整套操作系统与中间件服务,去为座舱、自动驾驶等各种车内应用服务。想要实现这个操作系统,主要有以下两条路径。

  • 以目前座舱使用的Linux为基础改造。一方面是把Linux继续剪裁;另一方面是在Linux上增加对实时任务的支持。尽管Linux本身不是一个实时操作系统,也不是为嵌入式设备设计的,这条路径有相当大的难度,但Linux已经有了庞大的开发者社区与应用生态。这里比较有代表性的是Linux基金会旗下的Automotive Grade Linux (AGL)。AGL有近百个成员公司,包含了世界上主要的主机厂商与一级供应商。

  • 开发崭新的下一代实时操作系统。一个有力的竞争者是Linux基金会旗下的seL4。seL4是一个基于微内核的实时操作系统,它的一个主要特点是经过形式化验证,能保证内核的安全稳定性。但seL4目前只有内核,中间件与应用生态建设仍然有很长的路。好消息是汽车行业的地平线、蔚来汽车、理想汽车、Second State最近都加入了seL4基金会,共建生态。

我们注意到,未来汽车操作系统的明显趋势是开源的。这意味着开发者试验与进入汽车生态的门槛会越来越低。

在智能汽车火热的中国市场中,有技术实力的汽车软件公司也都在向自研操作系统努力。它们都是从基于Linux的座舱系统(如前述的AGL)往实时车控操作系统演进。其中比较有代表性的是以下几家。

  • 阿里与上汽合资的斑马智行于2021年7月获得30亿元的增资,主要用于基于开源的AliOS的汽车操作系统开发。

  • 华为于2021年发布了开源微内核的鸿蒙操作系统,业界普遍认为是可以用在未来汽车上的。

  • 镁佳在2021年5月融资一亿美元,用于汽车操作系统与应用商店的研发。

  • 中科创达是国内领先的汽车软件应用开发商,其高层在最近的访谈中反复强调了公司要做操作系统的决心。

加之前面提到的seL4基金会成员地平线、蔚来、理想、Second State,中国厂商目前在汽车操作系统的两个主要方向都有布局,正走在世界智能汽车操作系统领域的前列。

软件生态与容器

放眼智能汽车的生态圈,今天的座舱与ADAS两个域计算机都是以整体解决方案的方式售卖给整车厂。对于整车厂来说,这两个重要域计算机是黑盒。域计算机的供应商,而不是整车厂,正在掌控着这两个域的相关软硬件生态。例如,ADAS激光雷达的选型、座舱语音识别的算法选择都是由域计算机供应商决定的。这与今天的汽车生态格格不入,也不是整车厂能够长期接受的方案。而未来,如果软件定义的汽车发展到每辆车只有一台超级计算机,对这台计算机的操作系统与软件生态的控制权,更是整车厂不能放弃的。

这里的挑战是,整车厂或者域供应商,如何在一个开放的计算平台上安全高效地集成多个下游供应商与开发者写的软件?其实,这个问题在“软件定义的数据中心”已经有了很好的解决方向:使用软件容器隔离各个供应商写的模块。

云原生数据中心用Docker这类软件容器实现隔离。汽车厂商也一直在试图使用Docker这样的软件容器。

  • 丰田汽车以及多个整车厂都已经试验过在车上的Linux系统上运行Docker。

  • 实时操作系统VxWorks在2019年正式推出了Docker与Kubernetes(以下简称K8s)的支持。

  • QNX也在多个技术会议上表达了支持Docker的意愿。但是,在云原生数据中心大量使用的Docker与K8s并不能从根本上满足汽车上软件容器的需求。它们太慢,太重,也不能满足实时性的需求。市场上急需一个更好的解决方案。

新一代的轻量级软件沙盒/容器技术,如支持多种编程语言与多种操作系统/硬件的WebAssembly Runtime,是在汽车这种边缘设备上实现软件隔离的很好选择。WebAssembly直接从操作系统的线程启动,并不需要模拟一个自己的操作系统环境,在启动时间上可以比Docker这类解决方案快100倍以上。

  • 基于WebAssembly的软件容器也需要自己的管理与编排工具。这里主要有两个思路。

  • 利用K8s在云原生成熟的生态,将K8s改造为能编排边缘设备上WebAssembly容器的工具。轻量级的K8s工具,如KubeEdge、SuperEdge与OpenYurt,已经在边缘设备上应用。

  • 用数据流处理框架,在传感器的数据流之中实时启动容器与第三方应用。目前基于ROS的自动驾驶解决方案,如ERDOS与Autoware,都可以走这个方案。工业应用的实时流处理框架,如YoMo,也可以用来调度WebAssembly容器。云原生计算基金会(CNCF)的正式托管项目WasmEdge也已经实现了与YoMo和ERDOS 的适配。

WebAssembly Runtime抽象了底层的硬件与操作系统,开发者就能用现代的编程语言与框架,如Rust,写出高性能、可移植的汽车应用。

开发者的机会

软件定义的数据中心产生了“云原生”的使用场景,赋能了大量开发者。软件定义的汽车也会让第三方开发者更容易进入汽车。对于广大开发者来说,软件定义的汽车的意义在于把汽车变成一个开放的计算平台。标准化的硬件、开源的操作系统、开源的容器与运行沙盒,都会大大降低开发者参与汽车应用开发的门槛。

未来整车厂的核心能力将不再是引擎与变速箱,也不再是整合几个一级供应商的部件,而是像今天的公有云或者手机厂一样,整合软件开发者的生态,为用户提供最好的软件体验。

新程序员们,软件定义的汽车时代已经来临了,你们准备好了吗?

本文出自《新程序员002:新数据库时代&软件定义汽车》,由60余位专家倾力创作。随书附赠《2021数据库全景图V1.0》和《2021汽车技术与产业生态全景图V1.0》,同时内含《2021年度数据库发展研究报告》和《2021年度软件定义汽车研究报告》,图文与视频多媒体呈现。

数据库作为核心技术三大件之一,我们从新型数据库普及、数据库开源趋势、数字化转型实现,以及资本助力产业等角度,邀请到27位数据库行业专家,共著非关系型数据库、文档型数据库、分布式数据库、混合式数据库、时序数据库、图数据库等的理论技术及行业实践,让数据库开发者快速提升。

《新数据库时代》目录

智能驾驶作为人工智能的顶上皇冠,我们以技术和商业融合创新为主线,邀请到23位汽车领域专家,从开源系统、车路协同、数字孪生等不同视角分析了云计算、人工智能、物联网等技术给汽车行业带来的影响和机会,让汽车从业者深入了解产业动态。

《软件定义汽车》目录

本书高屋建瓴的产业分析和趋势预判适合中高端从业人员参考决策。同时,多位专家亲历的入门和实践之旅也为初学者提供了可借鉴的专业路径。

扫描图中二维码立即订阅

扫描下方二维码,添加小助手,即可加入《新程序员002》「读者群」,抢先一步获取杂志最新资讯,精彩内容不再错过。

当智能汽车变成一个超级计算机,传统车厂还有机会吗?相关推荐

  1. 清华AI圈 | 李骏:驰骋在智能汽车科技创新的广阔征途中

    转载自:清华大学(ID:THU1911-BJ) 作者:吕婷 本文 5982 字,建议阅读 15分钟 . 本文带你走进在智能汽车科技创新的广阔征途中疾速驰骋的新清华人李骏的精彩人生. 当清晨的第一缕阳光 ...

  2. 事关智能汽车行业未来“底线责任”,新标准终于“靴子落地”

    "对于汽车来说,只要有联网功能,就会有被网络攻击的风险.随着新技术的上车速度加快,供应商在短期内的快速增加,比如越来越多的第三方App,攻击的漏洞数量也在增加."业内人士坦言. 自 ...

  3. 投资持续升温,智能汽车“网络安全”赛道风口已至

    "汽车制造商对网络安全解决方案的需求从未像现在这样强烈,"这是日本电装公司风险投资总监Tony Cannestra在近日宣布完成对网络安全软件公司Dellfer的A轮投资后的表态. ...

  4. 何小鹏:未来的智能汽车公司都会向“苹果模式”靠近

    雷帝网 乐天 10月19日报道 小鹏汽车董事长兼CEO何小鹏日前在"世界智能网联汽车大会"上发言,称未来的智能汽车企业会更偏向于像是一个苹果模式的生态体系,制造(包括硬件和基础软件 ...

  5. 网秦出售飞流移动和秀色秀场交易更进一步 智能汽车业务布局或进入新阶段

    2017年3月30日,网秦移动宣布与清华同方旗下同方证券的关联基金同方投资基金签署了最终协议,出售网秦所有的飞流移动和秀色秀场业务的全部股份,收到现金款项1.5亿元人民币.2017年11月9日,网秦再 ...

  6. 飞流、秀色交易加速 网秦全面专注智能汽车领域

    2017年11月9日,网秦移动发布关于飞流移动和秀色秀场交易的最新进展.继2017年3月30日最终协议签署日收到现金款项1.5亿元人民币后,网秦于11月9日收到现金款项8亿元人民币.截至目前,网秦已收 ...

  7. 18不使用委托实现能自动侦测车距的智能汽车

    发明一辆智能汽车,能自动侦测与前方车辆的车距,当车距小于100米的时候,就报警. □ 思路 ● 报警器显然是观察者 ● 智能汽车就是被观察者 智能汽车有一个侦测车距的方法,当车距小于100米的时候,就 ...

  8. 聚焦2020年财报:进击的恒大汽车,“变态”的智能汽车

    智能科技的恒驰 文/螳螂财经 作者/陈淼 自2020年从「恒大健康」更名为「恒大汽车」,恒大造车的动作愈发迅速,也令外界逐步看到其在新能源汽车领域"有的放矢"的专业性. 3月25日 ...

  9. 智能汽车能否真正实现无人驾驶,为什么?

    智能汽车与自动驾驶汽车的区别是什么? 智能车辆就是在一般车辆上增加了先进的传感器(如雷达.摄像头等).控制器.执行器等装置,通过车载环境感知系统和信息终端,实现与人.车.路等的信息交换,使车辆具备智能 ...

最新文章

  1. 将自己写的windows服务加入到windows集群中
  2. Tensorflow学习—— Estimator简介
  3. 22课时、19大主题,CS 231n进阶版课程视频来了
  4. 数据库练习题总题库选择判断简答操作题
  5. python自动化测试脚本怎么编写_【Python + uiautomator2】之编写unittest自动化测试脚本...
  6. 那年学过的Java笔记三核心类库一
  7. 计算机结构化思维学计算机,基于结构化知识的学习/思考机器和学习/思考方法以及计算机系统和信息生成方法...
  8. 游戏开发之初识C++模板(C++基础)
  9. java毕业论文范文3_java毕业论文范文3篇
  10. 2021-04-23 - TS型网页视频下载 - 学习/实践
  11. C# Udp测试工具开发
  12. Unity Shader入门精要第七章 基础纹理之遮罩纹理
  13. 表面等离子体共振新进展!
  14. dz php debug,开发dz插件后台提示错误
  15. 解决dotnetfx35和dotnetfx35SP1在线安装慢的问题
  16. java解析bt协议详解_【转】bt协议的详细分析
  17. 快速排序 Quick Sort
  18. 2016计算机知识竞赛题库,国学知识竞赛题库2016(含答案)
  19. 华为路由器 端口映射与防火墙
  20. 在mm32f3270为micropython移植utime模块

热门文章

  1. 【javaScript】encodeURI来解决URL传递时为什么需要进行两次encodeURI编码
  2. 最受 IT 公司欢迎的 30 款开源软件,你用过几款?
  3. 从IMDB上爬取MovieLens-1m的补充数据(电影海报和简介)
  4. JAVA毕设项目校园跳蚤市场(java+VUE+Mybatis+Maven+Mysql)
  5. win32窗口机制之CreateWindowEX
  6. Learning Policies for Adaptive Tracking with Deep Feature Cascades
  7. 动环监测,机房监测解决方案
  8. 网站做好后不能用手机浏览吗_企业的网站建设如何跟上时代的发展?
  9. Ubuntu 20 安装 pyodbc 数据库驱动
  10. WPF路由事件(冒泡事件和隧道事件)