百科问答小站 logo
百科问答小站 font logo



特斯拉选择 Linux 作为车载系统的原因是什么? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

这个问题下面的回答比较有意思,大概分为两种观点,一种是说Linux打上RT补丁以后性能不差的,另外一种是说特斯拉根本没用Linux做车载系统,Linux是娱乐用的。

抛开技术问题不谈,有些东西是可以查到的,比如特斯拉到底用没用Linux,答案是肯定的:

自动驾驶用的就是Linux,官方网站说的,这总不会是错的吧?另外特斯拉已经开源了相关的代码:

自动驾驶算不算车载系统?我觉得算。虽然主控这一类的firmware里也可以跑一个轻量级的RTOS,也许特斯拉按照其它答案里说的没在这类硬件上使用OS,但把自动驾驶系统排除在车载系统之外,恐怕不合适吧?

所以,至少有一个结论可以确定:特斯拉用了Linux,而且是在比较核心的系统中用了Linux

至于硬件firmware上用的是什么系统,特斯拉没有公开信息,基本可以排除QNX,freeRTOS,VxWorks这些比较大的RTOS,但世界上RTOS这么多,简易RTOS内核也就几百行代码,整个操作系统都是50~100KB的尺寸,不排除特斯拉自己搞一个简单的。毕竟直接跟硬件打交道的firmware的业务逻辑并不复杂,类似VxWorks这种系统太大了,甚至uCOS都太大了。以火星车为例,主控是用VxWorks,很多探测仪器上用的是uCOS或者没有使用操作系统。

剩下的问题就是Linux实时性好不好的问题了,或者换个说法,Linux是否适用于自动驾驶这种应用场景

我觉得这是商业问题而不是技术问题,当年提出RTOS的场景是:在一些硬件性能不足而可靠性要求高的场合,要满足重要业务优先调度的原则。比如飞机、卫星这些芯片性能比民用芯片差很多的硬件上。但车载硬件性能并不差,因为车载系统的环境远远不如卫星和飞机那么恶劣,完全可以用上相对更好的硬件(相对于卫星来说)。所以,实时性不足,拿硬件性能弥补,这种是完全可行的,毕竟并不是所有的应用场景都需要百纳秒以内的抖动时延。

有人说打了RT补丁以后,Linux实时性也很好,这里我觉得是很多人对实时系统不了解,RTOS,既包括RT,也包括OS,内核调度器是RT了,驱动都是原来的驱动,那么整个系统的延迟仍然很大,所以RTOS的实时设计理念不仅仅是调度器、中断这些,还包括实时文件系统,实时网络协议栈,实时设备驱动等等。所以仅仅是一个RT补丁还远远不够,甚至文件系统、网络协议栈都需要重写,我对RT-Linux了解不多,但我不认为RT-Linux把这些都做了改造。

所以,传统RTOS厂商(包括一些车厂)批判特斯拉不够安全,这不是没道理的,即使是RT-Linux,要把整个软件生态改造成RTOS的设计,都是不现实的。所以特斯拉的自动驾驶平台的实时性是存疑的(特斯拉自己说改造过,,在我前面的第一个链接里有说明:Throughput, latency, correctness and determinism are the main metrics we optimize our code for)。对于自动驾驶系统来说,使用Linux的好处就是比传统的RTOS更容易获得自动驾驶的解决方案,毕竟Linux的API和运行库比传统的RTOS要丰富的多,使用Linux必然要比传统RTOS更节约成本。

回到前面的观点,现在的硬件的性能已经很强大了,RTOS是否还是必要的?这个问题更多的是商业问题:特拉斯(马斯克)是一个喜欢打破传统的厂商(个人),传统厂商不愿意做变革,特斯拉愿意。至于这其中的风险,是需要时间来考验的,当然了,任何新生事物都需要时间来考验。

另外,SpaceX的火箭上都用Linux了,至少说明Linux在某些场景跟传统的RTOS比起来不差。而且中国的商业火箭,听说也用的是Linux做主控。




  

相关话题

  重庆女子驾驶特斯拉出车祸,疑刹车失灵,要求特斯拉提供行车数据,员工称:我们不能出具任何报告,你怎么看? 
  江苏常州特斯拉坠河夫妻双双遇难,知情人称「二人刚在当地开餐饮店不久」,造成此次事件的原因是什么? 
  如何看待宁波夫妻二人两次同一位置特斯拉刹不住车? 
  Carlife真的比Carplay差很多吗? 
  如何看待特斯拉深夜致歉:「成立处理小组,配合各相关部门调查,做到尊重消费者,尊重市场」? 
  5 月 7 日广东韶关一辆特斯拉 Model 3 追尾一辆货车,目前情况如何?事故原因可能是怎样的? 
  如何看待 Deepin 操作系统创始人王勇离职? 
  Linux 内核的 C 代码风格是怎样的? 
  如何看待蔚来澄清与特斯拉女车主维权有关:「相关传言纯系造谣」?为什么会有此谣言的产生? 
  续航长、价格低,特斯拉 ModelY 能成为年轻人最想买的特斯拉吗? 

前一个讨论
C语言 乘以0.01快?还是除以100快?
下一个讨论
是否有文档支持Java『volatile int i 在执行 i++ 的底层是非原子性的三步』的说法?





© 2024-11-23 - tinynew.org. All Rights Reserved.
© 2024-11-23 - tinynew.org. 保留所有权利