开辟鸿蒙 谁为情种
今年5月19日,根据路透社的最新报道,谷歌已经暂停与华为的业务。知情人士表示:“这意味着华为只能使用安卓的公开版本,无法访问来自谷歌的专有应用程序以及服务”,包括但不限于 Play Store、Gmail 和 YouTube。
面对谷歌参与围堵制裁的严峻现实,华为迅速将12年起就在默默开发的鸿蒙系统推了出来,奏响了中国科技界反对美国贸易保护主义的时代强音。
5月21日,华为消费者首席执行官余承东在互联网人方兴东创建的老友群中表示:华为自主开发的操作系统将于今年秋季推出,最迟将于明年春天面市。
这一消息彻底引爆了网友的情绪,微内核、方舟编译器、性能提升60%、兼容安卓应用、打通所有平台成了后来提到鸿蒙系统必提的五大关键词。伴随着鸿蒙系统准备发布和这五个关键信息的披露,谣言、赞美、建议也纷至沓来。
鸿蒙将于6月下旬发布、小米手机将升级为鸿蒙系统、华为内部有美国间谍被抓等消息是谣言,华为或有关方面已经进行了辟谣。
华为微内核和新编译器是原理性的胜利、五年后鸿蒙基本替代安卓、华为让谷歌无法淡定等论调则是赞美。
有人则建议华为要利用微内核的伸缩性,搞好嵌入式设备,形成生态的大一统,真正让鸿蒙搭载的软件做到一次编译处处使用。
笔者主张在华为新系统没有披露更多消息之前,谣言要打击,赞美要适度,建议要符合实际。而目前很多媒体工作者急于看到中国自主操作系统成长起来,对鸿蒙的表现有很多脱离现实的预期和估计。事实上中国自主操作系统和鸿蒙真正发展起来需要的是舆论长期的关注和支持,而非国外不制裁时极尽漠视,国外一制裁则肆意夸大其作用和性能。我认为这是一种捧杀。
华为鸿蒙采用微内核可能不会有明显的性能优势
国内几乎所有媒体在提到华为鸿蒙采用的是微内核的技术路线时,都会强调微内核更先进、代表着未来、性能也更强、扩展性非常优良。
的确,微内核出现的更晚,概念上也更诱人,理论上拥有很多优势。但就目前实际使用的操作系统而言,采用微内核的操作系统在性能上并不占优。
微内核、宏内核可能多数人并不熟悉,但是Windows系统大家几乎都用过,Windows系统的内核就是一种微内核。与Linux相比,Windows几乎没有性能优势。
以最强调性能的超算领域为例,早在2012年时国际TOP500组织公布的全球超级计算机500强排行榜中,Linux在超算Top500名中占据了其中462台的操作系统宝位,占比94.2%。
而在2017年超算Top 500竞赛中,500 台里有 498 台运行Linux,剩下的两台则是 Unix,Linux 比去年进步一台。2018年宏内核的Linux则完全垄断了超算Top500的操作系统。
与之形成鲜明对比的是,开发时间早于Linux近十年,且采用号称先进微内核的Windows则在超算领域节节败退。在每年性能最强的500台超算的市场份额,由巅峰时期的几十台掉到近年的没有。
因此鸿蒙采用微内核可能会具有一些优点,但是我们不宜夸大这种优势,最终鸿蒙会具有怎样的性能体验还是要看华为针对它所做的优化,而非因为它是微内核所以肯定性能强。
采用微内核之后生态管理的压力会更重
宏内核,就是把系统所需的很多部分都集成进内核。以Linux系统为例,进程、线程管理、内存管理、文件系统、驱动、网络协议等等部分都在内核里。好比瑞士军刀,耦合性强效率也高。
微内核,就是内核中只有最基本的调度,把其他系统模块都做成内核外的一个进程。每个进程只做好一件事情,最后组合起来实现系统的功能,就像搭积木一样,组合性非常强,而且每一个进程只影响与之相关的一小部分,稳定性也比较强。
从原理上说,微内核要比宏内核灵活,更方便修改。但是宏内核也并非像少数媒体所说的几乎无法修改,只不过宏内核的修改要把内核这个“瑞士军刀”拆开,移出相应的部分,对这个部分进行替换和增删。最后再移入内核中检查其兼容性和有无错误并重新编译好内核。
而积木式的微内核就要容易地多,无非是移出一块,再用新的一块进行替换即可。不过这种方便很大程度上对厂商的生态控制能力提出了较高的要求。例如Windows在安装了较多软件或者流氓软件之后,系统会变得卡顿,即使卸载这些软件也无法完全恢复到之前的状态。
这就是由于Windows的微内核允许软件厂商将启动项等内容写入系统进程造成的。随着这些“外来积木”的加入,微内核难以避免的会变得越来越大,速度严重受影响。
同时我们还要看到Windows毕竟是一个非常成熟的系统,Win 10自带的Windows Defender是Windows下最强大的安全软件之一。应用软件失范的态势已经在微软的努力下得到了控制。
而安卓系统尽管让所有的应用程序都分别跑在各自的虚拟机中,最大程度的降低了安全风险和生态管控的难度。但是应用软件因为可以直接使用一些系统的中间件,开机自启以及未经授权录音录像等问题也是一直反反复复。
如果华为使用了微内核,在不如微软和谷歌强势的情况下如何进行生态管理,这也是值得深思的问题。
方舟编译器兼容性如何是个问题
根据外媒TechNave报道,华为携手腾讯,与OPPO、VIVO等智能手机厂商一起进行了鸿蒙系统性能相关测试,并给出了测试结果。结果表明,相较于配备谷歌安卓操作系统的智能手机而言,搭载华为鸿蒙系统的智能手机在系统运行速度上比前者高60%!
但是这并没有说腾讯的软件可以不加修改的直接通过方舟编译器编译后运行在鸿蒙系统之中,也没有说与谷歌原来的zygote编译器编译时的命令和参数保持一致,当然经过方舟编译器编译的程序能否跑在普通的安卓系统里也是一个未知数。
同时反过来说,鸿蒙按目前的消息是兼容安卓,但是不是所有应用软件都能够不加修改的运行在鸿蒙中?
这些问题都是中小软件公司决定向鸿蒙平台迁移或者开发方舟编译器版本时考虑的主要问题。不解决好,软件商就会有后顾之忧。
华为方舟编译器是如何做到第三方应用性能提升的?目前还没有官方的回应,而流传的消息则有两种。一种是说华为针对安卓原来的编译器进行了深度的魔改实现了性能的巨大提升,一种是说华为通过将Java代码绕过虚拟机直接翻译成机器码来实现的。
当然还有一种混合的说法,即华为通过将Java代码绕过虚拟机直接翻译成机器码来对原来的编译器进行了深度的魔改。
针对直接将Java代码翻译成底层机器码的方法,笔者认为这当然有利于提升性能,但不利于应用程序的可移植性和可维护性以及操作系统的安全性。
总而言之,世界上自己编写相应编译器的公司或者团体并不少,但多数也只是在一个极小的范围内得到了应用,其中不乏出身名门者,比如英特尔的ICC。主要就是因为软件兼容性或者硬件兼容性的问题没有得到妥善解决造成的。
毛主席说:“我们的同志在困难的时候,要看到成绩,要看到光明,要提高我们的勇气。”因此对鸿蒙进行赞美和表扬无可厚非,同时我们也应该看到支持华为循序渐进的解决可能面临的这些问题也很重要。
信息产业自主化的前途必然是光明的,道路必然是艰难的。我们要支持,但不能捧杀,要拿出历史的耐性,期待真正的辉煌。
来源:观察者网