美国对华为的禁令,将“鸿蒙”OS捧上了高台。“鸿蒙”也从“备胎”蜕变成为替代安卓的“接班人”。余承东更是给出了五大关键词:微内核、方舟编译器、性能提升60%、兼容安卓应用、打通所有平台,一时间,网友对“鸿蒙”的赞美纷至沓来。但同时也有人认为华为鸿蒙OS尚未推出就陷入了“捧杀”怪圈。
华为鸿蒙OS是否被自媒体过度“解读”了呢?
近期,任正非在接受外媒采访时,专门提到了鸿蒙系统,通过任正非的揭秘,鸿蒙系统变得清晰起来。
任正非指出,鸿蒙系统的产生,本身并不是为了手机用,而是为了做物联网来用的,比如自动驾驶、工业自动化,因为它能够精确控制时延在五毫秒以下,甚至达到毫秒级到亚毫秒级。任正非指出:“我们构建这个系统,为的是能够同步连接所有对象。这就是我们走向智能社会的方式。”
任正非还表示,希望继续使用全球公用开放的手机操作系统和生态,但是如果美国限制我们使用,我们也会发展自己的操作系统。
当被问到“‘鸿蒙’操作系统是不是比谷歌的安卓或是苹果的Mac OS X系统更快?”这一问题时,任正非谨慎地给出答案:“很有可能”,并给出了一份技术方面的论据,根据之前的一份报告,华为的操作系统比安卓速度快60%。
除了操作系统的速度以外,任正非表示“鸿蒙”兼容性也非常强大,旨在应用于多种设备,这也证实了此前的传言。任正非表示:“我们正在研发的操作系统能够与印刷电路板、交换机、路由器、智能手机以及数据中心等兼容。”
但同时,任正非也承认,在与谷歌和苹果竞争方面,华为有一个很大的失误:“与苹果的操作系统或安卓相比,我们仍然缺乏良好的应用程序生态系统。”为了解决这个问题,任正非表示,华为已经在着手研发安卓和苹果应用商店的替代品,并试图吸引开发者。
任正非表示:“现在已经有一些设备可以使用‘鸿蒙’,且它不仅只为手机设计。现在‘鸿蒙’还无意替代安卓。如果安卓不再开放给华为,我们会为‘鸿蒙’建立生态体系吗?这还没100%确定。”
“操作系统最关键的是建立生态,重新建立良好的生态需要两、三年左右的时间。我们有信心依托中国、面向全球打造生态。一是中国市场就有庞大的应用,相比所有互联网软件,我们的系统时延非常短,如果有的人认为在这个短时延的系统上应用得很好,就会迁一部分业务到华为来;二是,中国大量做内容的服务商渴望走向海外,但是走不出去,它们搭载在我们的系统上就可以走出去。”任正非说道。
据悉,华为鸿蒙操作系统将是一个全栈式的优化方案,针对Linux内核也将做很多的修改设计。其中超级文件操作系统、方舟编译器都将是鸿蒙操作系统非常核心的部分。但“鸿蒙”想要成功并非易事。
国内几乎所有媒体在提到华为鸿蒙采用的是微内核的技术路线时,都会强调微内核更先进、代表着未来、性能也更强、扩展性非常优良。
的确,微内核出现的更晚,概念上也更诱人,理论上拥有很多优势。但就目前实际使用的操作系统而言,采用微内核的操作系统在性能上并不占优。
微内核、宏内核可能多数人并不熟悉,但是Windows系统大家几乎都用过,Windows系统的内核就是一种微内核。与Linux相比,Windows几乎没有性能优势。
以最强调性能的超算领域为例,早在2012年时国际TOP500组织公布的全球超级计算机500强排行榜中,Linux在超算Top500名中占据了其中462台的操作系统宝位,占比94.2%。
(2012年超算500强中Linux的占比)
而在2017年超算Top 500竞赛中,500 台里有 498 台运行Linux,剩下的两台则是 Unix,Linux 比去年进步一台。2018年宏内核的Linux则完全垄断了超算Top500的操作系统。
与之形成鲜明对比的是,开发时间早于Linux近十年,且采用号称先进微内核的Windows则在超算领域节节败退。在每年性能最强的500台超算的市场份额,由巅峰时期的几十台掉到近年的没有。
因此鸿蒙采用微内核可能会具有一些优点,但最终鸿蒙会具有怎样的性能体验还是要看华为针对它所做的优化,而非因为它是微内核所以肯定性能强。
此前有外媒报道称,华为携手腾讯,与OPPO、VIVO等智能手机厂商一起进行了鸿蒙系统性能相关测试,并给出了测试结果:相较于配备谷歌安卓操作系统的智能手机而言,搭载华为鸿蒙系统的智能手机在系统运行速度上比前者高60%!
但是这并没有说腾讯的软件可以不加修改的直接通过方舟编译器编译后运行在鸿蒙系统之中,也没有说与谷歌原来的zygote编译器编译时的命令和参数保持一致,当然经过方舟编译器编译的程序能否跑在普通的安卓系统里也是一个未知数。
同时反过来说,鸿蒙按目前的消息是兼容安卓,但是不是所有应用软件都能够不加修改的运行在鸿蒙中?
这些问题都是中小软件公司决定向鸿蒙平台迁移或者开发方舟编译器版本时考虑的主要问题。不解决好,软件商就会有后顾之忧。
华为方舟编译器是如何做到第三方应用性能提升的?目前还没有官方的回应,而流传的消息则有两种。一种是说华为针对安卓原来的编译器进行了深度的魔改实现了性能的巨大提升,一种是说华为通过将Java代码绕过虚拟机直接翻译成机器码来实现的。
当然还有一种混合的说法,即华为通过将Java代码绕过虚拟机直接翻译成机器码来对原来的编译器进行了深度的魔改。
针对直接将Java代码翻译成底层机器码的方法,笔者认为这当然有利于提升性能,但不利于应用程序的可移植性和可维护性以及操作系统的安全性。
总而言之,世界上自己编写相应编译器的公司或者团体并不少,但多数也只是在一个极小的范围内得到了应用,其中不乏出身名门者,比如英特尔的ICC。主要就是因为软件兼容性或者硬件兼容性的问题没有得到妥善解决造成的。
如任正非所表示的,与苹果的操作系统或安卓相比,鸿蒙缺乏良好的应用程序生态系统。
如果华为搞类似阿里yunos的东西,那是容易普及的。因为有linux路线,通过方舟编译器兼容安卓生态,相对容易一些。阿里yunos一直到2018年还有机器,可以很很方便的兼容安卓APP。
但是搞一个自己的RTOS要兼容安卓应用,就没有那么简单了。
据了解,黑莓用的QNX也是一种RTOS,它曾经尝试过兼容安卓生态系统,可以兼容部分安卓程序。但是实际效果是兼容性很差,而且效率很低。
而不用安卓生态,直接建立自己的生态,则需要第三方厂商的大力支持。微软,黑莓,诺基亚,三星都尝试在移动领域搞自己的生态,但是都失败了。第三方厂商对小众系统的支持并不积极。
华为鸿蒙要成功,初期需要完美的兼容安卓系统生态,让用户感觉不到兼容性问题,完美过渡。
后期,华为则要成功说服第三方厂商给自己开发应用,逐步建立自己的生态系统。
前两者是技术问题,后者则是一个超越技术的问题。华为鸿蒙要成功,就必须通过这两个考验。