上周,参加了 QNX 的一个活动。感谢 APEC,让我在进酒店地库之前享受了一次高规格的人、车安检,而且是带摄录的那种,貌似检测爆炸物的器材也用上了。之所以这么如临大敌,全是因为「安全」俩字。
而当这个活动结束之后我发现,之前的安检,看起来倒很像为活动做的注解。
嗯,QNX 上市了一款汽车操作系统,就连名字里都有「安全」两个字,它的全名叫做「QNX 汽车安全操作系统 1.0」(QNX OS for automotive safety)
QNX 是一家软件系统公司,是黑莓的子公司,总部在加拿大渥太华。汽车领域里,不少品牌都在使用 QNX 提供的系统。
虽然是上市活动,但是这套系统并不是直接面向车主的。QNX 的客户主要是车厂的一级供应商。通俗的说,QNX 把系统卖给供应商,然后供应商基于这个底层系统搭建车载的娱乐等系统,然后再卖给车厂。
所谓底层系统,就是在硬件之上的架构层,它把硬件资源有效整合,然后给更上层的各种车载功能提供接口。平时我们熟知的那些 SYNC 系统、MMI 系统、iDrive 系统等,实际上只是在底层系统之上构建的一个面向用户、提供 UI 的交互系统。如果用盖房子比喻的话,底层系统就相当于是地基。地基决定了上层建筑。
而 QNX 这套系统的「安全」二字,主要指的是「功能性安全」,也就是说,这个系统的存在,是为了保证不因为安全问题而影响功能的使用,是为了让地基更牢。
为什么强调功能性安全?总结起来一句话就是:汽车的数字化程度和连接能力越来越高。比如,ADAS 系统越来越多的装车,车内信息和娱乐方面的处理能力越来越强,这些都对汽车安全提出了更大的挑战。从另一个角度来看,车载系统之间的界限变得越来越模糊,构建在底层硬件之上的平台层,必须要能同时支持安全关键功能和非安全关键功能。ADAS 就属于安全关键功能,而信息娱乐功能就属于非安全关键功能。
这套系统采用微内核和模块化设计,所谓的微内核是指,系统内核极小,只在其中放入保证系统正常运行最关键的一些语句,占用很小的运行内存。用过精简版的 Office 吧?就跟它类似。在这个内核之上,再运行应用、驱动和软件等,即使这些出问题,也不会影响到内核的稳定性。另外,由于外延功能不进入内核,也就让内核不需要频繁修改。
除了微内核,模块化也是这套系统的一大特性。其实,采用微内核也就决定了这套系统是具有很强的可定制性的。对于一级供应商来说,模块化的特性会给他们极大的个性化空间,满足不同品牌的要求。
这套系统到底有多安全?据 QNX 的产品经理郑怡说,它可以达到 ISO26262 电子系统安全认证的最高等级 ASIL D 级。这意味着,每 4479 年才可能出现一次系统故障。不过,这个数据是没有考虑进黑客攻击等外部因素影响的。
说到 ISO26262 认证,这又是 QNX 大书特书的一点。欧洲车厂的产品都要通过这一针对汽车电子电气及可编程设备的安全标准,但是在操作系统方面,通过认证的难度极大,而 QNX 却有相当多的经验,这些经验会对供应商和车厂提供很多帮助。在供应商采购的过程中,势必会优先考虑那些在产品之外提供更多附加值的合作伙伴。
于是,我明白为什么 QNX 要特别强调这个 ISO26262 认证了。对他们的客户来说,这很重要,也是 QNX 一个最大的卖点。
在底层系统领域,QNX 占据 44% 的市场份额,排在第二的微软占据 17%,而基于 Linux 的解决方案占 4%。相比于 QNX,Linux 最大的优势是开源。
QNX 的对手除了微软和 Linux,甚至还包括整车厂。捷豹陆虎的工程部门主管就曾经说过,「汽车工业需要一个不依附于供应商的独立的系统底层平台。」但是对车厂来说,要独立的去开发从底层到应用层的整套车载系统,并不是一件容易的事情,不管是从成本角度还是技术角度。
对于我来说,QNX 的这次活动多多少少有些烧脑的感觉,要完全理解他们所讲的内容,并不容易。不过,那些供应商们才是参与游戏的人。
(封面图片:QNX 亚洲区工程服务总监 梁为瑜)