五大车载操作(VOS)系统的简单介绍对比
车载操作系统(AutomoTIve OperaTIng System,简称AOS)是管理和控制车载硬件与车载软件资源的程序系统,是直接运行在AB上的最基本的系统软件,任何上层软件,HMI,数据连接都必须在操作系统的支持下才能运行。
车载操作系统是用户和车载硬件的接口,同时也是车载硬件和上层软件的接口。车机操作系统的功能包括管理车载系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为上层软件提供支持,让车机系统的资源,以及接收到数据、信号、音频、视频最大限度地发挥作用,提供各种形式的用户界面(UI),使驾驶员有一个好的驾驶环境,并有效的提供辅助驾驶、半自动驾驶、甚至自动驾驶。
实际上,驾驶员是不需要了解操作系统的,车载操作系统管理着车机硬件资源,同时按照应用程序的资源请求,分配资源,如:划分AB资源,RAM空间的分配,处理声音、视频信号,时间管理,电源管理等,然后给每个ECU发送正确的指令,使汽车高效安全地驾驶。
那么纵览以下AB所需要的操作系统,其中包括WinCE,Linux,Android,QNX,iOS等等。
1. WinCE:
WinCE是微软1996年微软发布的嵌入式操作系统市场的产品,直到2002年,WinCE4.1的发布,才取得了成功,今天WinCE已经发展到7.0。但是随着Linux和Android的冲击,据说微软已经准备放弃对WinCE的维护,而准备如同苹果一样,从Windows 10以后,一款操作系统支持所有的平台,PC,Notebook,Palm,Phone,AutomoTIve等等。虽然WinCE马上可能会成为历史,但是毫无疑问它为车载VOS的起步奠定了宝贵的基础,大家还是要了解一下它的架构。
VOS中典型采用的WinCE 6.0系统架构,实现为一种分层的架构,分别由内核模式层和用户模式层组成。其架构图如下:
主要特点如下:
32位多任务嵌入式操作系统。
多任务抢占、硬实时。
支持的处理器体系结构:ARM, x86, SH4, MIPS等。
组件化开发。
Based on Win32 API Set,桌面系统的一个扩展子集,超过2000个函数可以使用。
互联网协议融合。
因为WinCE提供了多媒体功能模块,且实时性方面表现出色,且当时Windows应用开发便利,有很多的商业化产品和服务,同时提供大量的开发包(Kits)和调试工具(Debug Tools),所以在当时其他操作系统不够成熟的情况下,在车载导航、娱乐上算是一枝独秀,所以当时基本上都称车载主机为车载导航或者车载娱乐系统。
但是,随着需求的增多,用户需求的改变,其他操作系统的成熟。WinCE高度模块化的开发流程,使得开发用户越来越少,应用越来越匮乏,所以WinCE也慢慢退出了VOS的舞台。
2. Linux:
对于计算机开发人员来说,Linux的出世可以说普大喜奔。因为它是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。最最主要的是它是一套免费使用和自由传播的类Unix操作系统。
Linux以它的高效性和灵活性著称,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议,支持32位和64位硬件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同大家使用Windows一样,允许使用窗口、图标和菜单对系统进行操作。
同时Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统,Linux的架构如下:
容易让人误解的是,小编或者网络中大家说的Linux,其实是指代的是Linux kernel。因为Linux操作系统因为发行方的不一样,有着不同的发行版,譬如说Ubuntu,Debian,Fedroa,RedHat等等。每个发行厂商根据不同的Linux Kernel版本,发布自己的新版本。
而在VOS上,大多数车机的OEM厂商是基于Linux Kernel LTS(长期支持版本)版本,然后自己通过裁剪和配置,完成车载操作系统的开发。因为一般LTS发布版本,将会提供 2 年的支持。所以稳定性更好,成熟度更高。
Linux操作系统结构设计偏重于可靠性和网络设计,所以在后台(服务器和数据中心)操作系统中占据着领先地位。现在IT基础设施从服务器和数据中心移动到了云端,而云运行在 Linux 上。即使是在微软 Azure 上,2016 年的时候超过 1/3 的虚拟机运行在 Linux 上。
但是Linux的普及范围小和开发难度大,限制了它在车载导航和车载娱乐上的发展。但是随着车联网、ADAS的介入,对可靠性以及网络设计的需求,也许Linux会异军突起,成为VOS的热门系统。
3. Android
Android操作系统,让小编带着大家单刀直入的描述。因为Android手机的市场份额已经超过了80%,远远高于历史上任何一个操作系统的份额。基本上10台智能手机中就有8台是Android手机,大部分对它的熟悉可能并不差于小编。
你可能不知道的是,到目前为止,Android是基于Linux Kernel开发的最成功的产品(也有人认为iOS是最成功的产品)。2009年,谷歌和一些硬件厂商组成的开放手机联盟发布了 Android。它现在已经成为了最流行的终端用户操作系统。
看一看它的架构,就能够看得出它和Linux的关系:
Linux Kernel:其底层是基于Linux Kernel的。主要完成的是操作系统所具有的功能,基本上是许多驱动程序,通过这些驱动程序来驱动设备上的硬件设备工作以及对电源的管理。
Android RunTIme:Android的运行环境。Android Runtime里的Core Libraries就相当于java的JDK,是运行android应用程序所需要的核心库,Dalvik Virtual Machine就相当于JVM,这时Google专为Android开发的运行android应用程序所需的虚拟机。
Liberaries: Android的库文件。包括文件系统,多媒体构架,SQLite数据库、图形处理、网络开发的库文件等等。
Application Framework:应用程序的框架,这个是非常的重要的。通过Framework这一层定义的各种各样的框架,开发人员通过Java来实现当前手机上各式各样的Applications。
许多车机的OEM厂商选择Android的4.4版本为基础进行VOS的开发。主要是4.4版本对RAM做了很大的优化,甚至可以在512MB RAM的车机上流畅运行。这和Linux,WinCE来说非常接近。而以车载导航和车载娱乐为主要目的的车机配置很低也有关系。
4.4版本一些大的更新大家可以随时百度到,小编就不一一列举了。
Android最大的优势在于庞大的手机群体,为其OS开发了数之不尽的应用,并且大多数应用已经深入人心,欲罢不能。而且,随着车联网的开发,应该很快能有移植到车机中来,为车载娱乐系统开创互联网新时代。
但是Android操作系统并未如同在手机上占据统治地位一样,在车机中一帆风顺的迅速发展,主要的原因还是系统的实时性和稳定性,当然也包括对资源的过分需求。这也许会阻碍Android成为未来VOS最大的障碍。所以Google公司计划在Android N的开发中,为车载开发一套完整的操作系统,让大家拭目以待。
4. QNX:
大家可能对QNX并不是很了解,这里小编详细说一下。
黑莓(Blackberry)旗下全资子公司,作为黑莓核心技术部门BTS(Blackberry Technology Solutions)的最重要组成部分,承担黑莓业务中操作系统、汽车软件、M2M、物联网IOT及云计算等核心业务内容。
– 成立于1980年,全世界第一个实时操作系统公司。
– 为汽车、通信、网络、医疗、国防、航空航天、核电、工业自动化等细分市场提供操作系统、中间件和软件解决方案。
– 从思科的路由器,洛克斯德马丁的武器,GE的交通设备,飞利浦的医疗,阿尔斯通的轨道交通,霍尼韦尔欧姆龙的工业设备,西屋电气的核反应堆控制器,到国际空间站的对接臂控制系统,QNX的软件涉及人们生活的每一个环节。
QNX以其安全性和实时性著称,所以它的突破口是汽车的仪表(Cluster)。QNX操作系统是第一个符合ISO26262 ASIL D规范的实时操作系统,能满足数字化仪表盘功能性安全的要求,同时兼顾了数据安全要求,通过美国军方EAL4+。用户可以基于安全的内核进行系统开发,从而保证整机系统的安全可靠。
QNX的架构如下:
在小编讲述的所有操作系统中,只有QNX基于自己的VOS独立的为汽车车载系统开发了完整的娱乐平台(而不是车机供应商),称之为:QNX车载娱乐平台(QNX CAR Platform for Infotainment)。其架构如下:
小编认为QNX的野心还是很大的,毕竟汽车的半自动、全自动驾驶涉及到人的生命安全,安全性和实时性是非常重要的。所以小编认为QNX成为未来的VOS的机会非常大。
5. iOS:
iOS是由苹果公司开发的移动操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初只设计给iPhone使用,后来陆续扩展到iPod touch、iPad以及Apple TV等产品。
iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。这个系统原名为iPhone OS,因为iPad,iPhone,iPod touch,Apple TV,iWatch都使用,所以改名为iOS。也就是说,未来所有苹果的产品都由iOS支持。而如今,苹果已经杀入了自动驾驶汽车领域,小编也期待着iOS成为VOS的到来。
iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。
下面是IOS系统结构图:
因为苹果对汽车的开发还处于保密阶段,我们只能翘首以待未来的结果。也希望如同iPhone一样,能够一鸣惊人。
现在让小编简单总结一下具有VOS潜质的几个操作系统的现状和未来:
参考:https://blog.csdn.net/xjhhjx/article/details/77133290