汉唐归来
惟有中华

袁岚峰:华为鸿蒙系统前景如何?从原理上看,大有可为|2019-06-18

美国对华为的禁运,刚好提供了一个打破死循环的契机。为了生存,华为必须推出自己的操作系统。而奇妙的是,鸿蒙对于用户和其他开发者来说,可能会是很有吸引力的。如果这种前景成为现实,那么鸿蒙就有可能在世界范围内掀起一个替代安卓的浪潮。

 

诗曰:

混沌未分天地乱,茫茫渺渺无人见。

自从盘古破鸿蒙,开辟从兹清浊辨。

最近,“鸿蒙”这个词火了。大家都知道,自从美国对华为宣布禁运之后,华为就推出了自己的反制计划,一方面是芯片的备胎全部转正,一方面是注册了自己的操作系统“鸿蒙”。

那么,鸿蒙系统的前景如何呢?

媒体曝光的鸿蒙操作系统界面

 

发展芯片的困难主要在于技术本身,所有人都同意芯片是真正的高科技。而操作系统在技术上的难度就低得多了,以至于会有这样的笑话:“我有一个绝妙的想法,只差一个程序员了。”发展操作系统的困难,更多的在于市场推广、生态建设,而不在于技术本身。

说得学术一点,这里的原理是,网络是“边际收益递增”的。就是说,如果一个网络中现有的用户越多,那么一个新用户从网络当中得到的好处就越大。

一个典型的现象,就是这个问题:世界前十大互联网企业,来自哪些国家?回答是:美国有6家,中国有4家,其他国家一家都没有。

英国、法国、德国、日本等等老牌的发达国家,都没有诞生世界级的互联网企业,一个基本的原因就是,美国在发达国家当中是人口最多的。同样的道理,中国在所有国家当中是人口最多的,因此中国的网络发展也非常蓬勃。

当然,仅仅人多这个条件是不够的,——此时某个人口超十亿的国家飘过……跟印度相比,中国的区别在于,我们其他的产业也发展到了相当高的程度,能够给网络产业提供一切技术条件。而印度许多地方连通水通电都成问题,哪还谈得上网络产业。

不过,中国互联网企业的成功,主要是在社交软件、电子商务、移动支付、搜索引擎等方面,而不是在操作系统方面。虽然有阿里的YunOS等试水之作,但离打破美国的垄断还差得很远。这里的原因,就在于生态建设。如何说服其他人为你的操作系统开发软件?这是一个鸡生蛋蛋生鸡的问题。如果能够突破这一步,前面就有无限的想象空间,但无数的英雄好汉就困死在这一步上。

美国对华为的禁运,刚好提供了一个打破死循环的契机。为了生存,华为必须推出自己的操作系统。而奇妙的是,鸿蒙对于用户和其他开发者来说,可能会是很有吸引力的。如果这种前景成为现实,那么鸿蒙就远远不只是一个对安卓的模仿,而是有可能在世界范围内掀起一个替代安卓的浪潮。

这其中的道理何在呢?基本的道理就是:安卓确实有难以克服的技术弱点,鸿蒙确实有希望超越安卓。

安卓是基于Linux开发出来的,而Linux是“宏内核”。有些新闻介绍说,鸿蒙是基于“微内核”的,并非基于Linux,和安卓有本质区别。那么,宏内核和微内核是什么意思呢?

 宏内核(Monolithic kernel)的意思是,操作系统的核心代码都是以特权模式运行在一块核心内存空间(kernel space)中的。这些核心代码虽然分模块各做各的事,但互相紧密关联,一荣俱荣,一损俱损,代码规模比较大,很难修改成其它类型的操作系统。典型的就是Linux代码,模块不少,核心代码已经很长了,也不太好拆开来。要开发,就得按照它的套路来,不好自己灵活安排。有时一个设备,要不了太多功能,但是整个宏内核都得放上来,想剪裁就很麻烦。

 而微内核(Micro kernel)的意思是,只提供操作系统最基本的少数核心功能,是精简版本。核心模块互相独立,运行提供服务时有自己的内存空间,和用户进程一样运行,不是特权模式。微内核就很灵活了,要什么服务就把相关的模块放上来,互相独立不影响,不用太顾虑配合问题。这样就有很好的扩展性。

 安卓是基于Linux的,是宏内核,由一堆底层特权模式的核心代码紧密组合在一起。这个架构的灵活性是不够的。面对各种硬件配置的手机,或者平板、电视之类的系统,它都是这一个架构,怎么适应?于是就搞出一个叫“虚拟机”的东西,假设大家都是在虚拟机上运行,代码是跨平台的。每一个安卓应用,都在操作系统底层对应着一个虚拟机实例,由这个虚拟机来伺候运行应用程序的代码。

 安卓程序开发者写的代码,其实是针对虚拟机的,所有机型都是一样的程序文件,但是不同机型底层的机器代码不一样。虽然开发者的一套程序所有安卓机都能跑(就是常见的APK安装文件),但是中间需要经过虚拟机的翻译。

 在早期版本的安卓系统中,这个虚拟机甚至是在实时解释翻译应用程序的代码,而且每次运行都要解释一次。执行时碰到一段代码,就解译一段,变成机器码交给底层执行。

后来安卓进步了,在第一次安装APK程序时,直接一次性全翻成机器码,效率得到了提高。虽然安装过程会慢一点,程序占用空间也大了一点,但每次点开运行时都好多了。

程序如果能直接针对底层机器硬件优化,性能可以提升非常多,就如苹果机器那样。华为方舟编译器也是这样,直接生成底层高效机器码。所以我们会看到这样的新闻:2019年4月11日,华为发布方舟编译器,重新编译后手机性能提升显著,可以高达60%。

但是通用的安卓平台真是不好办,只能对虚拟机搞点通用的优化把APK文件弄好点,然后虚拟机把APK翻译成机器码时也搞些通用的优化。这种分段通用优化的办法不可能做得多好,比APP直接针对机器码优化要差不少。

有些APP开发者可以绕过安卓,直接对某一机型优化。例如腾讯的王者荣耀,检测到用户是OPPO的机器,OPPO又给腾讯交了足够的“特别优化费”,就调用经过特别精心优化的高效机器码。但是这个过程很麻烦,一般开发者搞不了,这也说明安卓要高效支持多种机型很困难。

长久以来,安卓就被诟病不如苹果的iOS性能好,原因早就被业界人士分析清楚了。苹果系统优势的基础是封闭性,不需要考虑兼容,所以可以自己控制,优化尽情地做。例如苹果APP就是直接编译成高效的机器码,在苹果自己开发的CPU如A12上执行,编译器优化可以做得很好。苹果还可以对开发者进行严格的管理,提供丰富的高效率底层接口给开发者,不许开发者使用低效的操作拖累整机效果。

 安卓方便各种手机厂商开发,兼容做得好,所以占领了市场。但是既然要考虑兼容,管理就不可能太严厉,不可避免会带来效率降低。例如内存管理,各种安卓机各种APP都要能跑,内存操作就会比较零碎,一会分配一会释放,内存空间就碎片化了。到一定程度,没有可用的大块内存了,安卓系统就要运行一个内存整理程序,把碎片化的内存合并成大块。这时不管机器上在运行什么程序,都会暂停一段时间,用户就会发现机器卡顿了。

这些毛病谷歌其实都知道,安卓在不断升级。但是和苹果机比起来,顺滑流畅的感觉总是差一些,因为原理上就比不了。安卓升级改进,或者APP开发时,最麻烦的一点就是“适配”。各种机型多得很,这些机器弄好了,那些机器又不行了。人们已经得出结论了,在现有的这个兼容框架下,安卓的固有弱点不好改,会永远受束缚。

 

华为通过方舟编译器已经证明了,用编译器取代安卓的中间环节,能一举取得高达60%的性能提升。这就是说,从代码到机器是可以直接对话的,不需要安卓在中间插手。

这其实就蕴含着安卓阵营崩溃解体的动机。既然捆在一起潜力不大了,不如分开来各过各的,各自发展自己的分叉操作系统,不需要谷歌协调了。

谷歌也知道这个情况,在开发Fuchsia操作系统,试图从底层重新出发,解决安卓的问题。例如Fuchsia不要Linux的宏内核了,改用灵活的微内核。谷歌的计划,是时机成熟时用Fuchsia取代安卓,包括手机、平板等各种机器。这听上去就像鸿蒙系统,区别只是谷歌发动自我革命。

Fuchsia操作系统

但是看起来,鸿蒙会比Fuchsia更早地大规模投入市场。还是那个问题,谷歌不能自己搞分裂,还想维持表面上的一统天下,开发时要考虑的事情就多。而华为开发鸿蒙时不怕和安卓分家,可以大胆操作。这也是创新的常见局面,旧的大佬不敢革自己的命,新入场的却能放手大干一场。

理论上来说,鸿蒙基于微内核,比Linux要灵活,对机器进行优化组合更有空间。而编译器对于操作系统效率是非常关键的,华为会用方舟编译器积累的技术,甩开安卓虚拟机的限制,直接对各类机器进行高效编译。

这种开发非常有难度,需要对操作系统底层有深入的了解。但只要投入足够的人力去做,原理上就有把握做出来一个开放的高效操作系统。

中国已经有几百万的程序员,建设了富有活力的程序员文化。大家经常看到的程序员笑话,例如关于发际线的笑话、关于格子衫的笑话、关于程序员没有女朋友的笑话、关于最好的编程语言是什么语言的笑话等等,就是这种文化的表现,这其实侧面反映了中国的程序员人数之多、社会影响之大。因此,做出这样一个操作系统对中国来说并不是瓶颈。真正的瓶颈在于,应用程序开发商要配合在新系统上编译。而且不是随便编译能用就行,要深度优化共建生态。

现在有趣的要点来了。美国对华为的禁运,在很大程度上已经帮华为解决了这个最大的问题。如果没有美国的禁令,华为独自推出一个新操作系统,那么请别的公司配合会很麻烦。而在美国的倒逼和中国市场舆论的影响下,中国许多厂商和开发者就会积极地参与进来。

对此的一个旁证,是6月7日,英国《金融时报》报道谷歌向美国商务部游说,要求解除对华为的安卓禁令,以免给美国国家安全带来风险。诶,为什么禁止华为用安卓会给美国国家安全带来风险呢?谷歌提出了一个非常曲折的理由:华为用不上安卓,就只好开发自己所谓“不够安全”的混合系统,容易被窃听泄密;而美国人虽然自己用的手机是安全的,但也免不了要发送信息到这种不安全的华为手机上,所以会有安全风险。

谷歌以美国国家安全为理由要求解除对华为的安卓禁令

谷歌怎么会搬出这么绕的理由为华为说话呢?可见谷歌遇到了大麻烦。

以上是技术层面的分析。那么在商业层面,鸿蒙系统的前景如何呢?陈经的文章可以理解为一个极限情况推演,这个极限是指最好的情况,是一个上限。虽然要料敌从宽,但对上限的估计也是有价值的,也是重要的参考。做人如果没梦想,那跟咸鱼有什么分别?下面我就来简略地介绍一下可能的最好情况。

做人如果没梦想,那跟咸鱼有什么分别?

中国用户对鸿蒙系统的兴趣明显非常高,如果华为的新手机用上了新系统,会有很多用户购买试用。如果新系统比起安卓有本质的改进,例如运行速度大幅提升,新系统就不是弱项,而是大卖点。

 之前业界关注的是,美国政府可能对OPPO、vivo、小米等其它中国手机厂商也禁运。出于生存压力,这些手机厂商需要备用操作系统。鸿蒙在这种观察中,还是一个备用的概念,是极端情况下走投无路的选择。

现在的进展说明,即使谷歌允许其它中国手机厂商继续使用安卓,这些厂商也可能会主动采用鸿蒙。

如果这些厂商只有安卓系统,这可能成为一个重大劣势,例如被认为只有“低档的操作系统”,或者被认为技术上没有追求,影响形象。因此即使不是为了防美国禁用,单纯只为了市场卖点,各大厂商也需要积极跟进新系统。

还有一个可能的情况是,一些安卓系统的老手机,可以刷机变成鸿蒙系统。如果手机换系统可以提高性能,那么用户会非常有兴趣。

对谷歌来说,说不定一夜之间安卓在中国的市场份额就完蛋了。如果新系统的性能明显优于安卓,那么安卓的口碑会崩溃,会被认为是低等的系统,是影响手机卖价的老系统。这不是遥远的未来,而是2019年就可能开始,是谷歌需要面对的现实危机。

事实上,外国一些公司本来就在盘算安卓系统的份额。例如亚马逊有一个Fire OS用在kindle、智能音箱等硬件设备上,虽然是基于安卓的,但是改了非常多。亚马逊在云计算业务上很厉害,如果搞一个手机平板新操作系统,程序主要跑在云上,终端负责显示,这都是自然的发展。亚马逊系统虽然是基于安卓的,但并不是跟着谷歌不断升级版本,而是自己搞一套。

以前微软是认真准备和安卓全面竞争的,一度声势很大。后来Windows Phone(简称WP)在2017年11月宣布停止开发了,市场份额变成了零。微软诺基亚阵营解体,安卓阵营彻底胜利。对开发者来说,苹果和安卓构成了封闭和开放两个特色很不相同的阵营。

2017年全球智能手机操作系统市场份额

开放市场是各家打来打去,全球开发者用脚投票,最后安卓一统天下,算是“分久必合”。但这也说明,开放市场是会发生战争的,也许哪天又天下大乱了,“合久必分”。现在华为已经确定推出自主操作系统,天下大乱开始了。

以前大家不出来打,并不是因为安卓很完美,而是因为安卓在上升势头,天下由分到合的过程中,开发者们觉得开发省事了,愿意跟着安卓一起进步。新玩家跳出来的时机不对,没有生态做配套,也没有技术优势。

等安卓垄断了开放市场,没有了战争,大家就静下心来,在不断的升级中积累了经验,逐渐认清了安卓的根本弊端。这种弊端是安卓架构的问题,也是安卓阵营过于庞大带来的困境(如各种机型都要适配),无法通过升级解决。当更先进的架构与技术时机成熟时,必然有起义者开启乱世。

如果中国市场这里,安卓的统治居然被一夜掀翻,那么有实力的全球大公司会非常有兴趣跟上分食安卓的份额。IT业的技术扩散很厉害,在开源代码的帮助下,众多程序员在精英开发者带领下,不长时间就弄出来了。

甚至都不用彻底抛弃安卓,只要把安卓弄出无数个分叉,整个安卓阵营也会一片混乱,自立为王的大小公司会到处都是。这种情况谷歌也等于失去了控制,统一升级无从做起,勉强搞个升级声称是“正朔”,别人也不买账。实际上谷歌在论证“禁止华为用安卓有损美国国家安全”的奇怪逻辑中,就是把华为新操作系统称为安卓的一种“劣质分叉”,已经在自居“正朔”了。

其它公司搞分叉的理由很好理解:谷歌要带着整个阵营一起升级,拖累太多搞不动。各家公司有特殊的软硬件体系,华为证明了自己搞能大幅提升性能,那我为什么不也来搞个分叉试试?

安卓阵营如果崩溃解体,对谷歌的生存有重大影响。

请问,谷歌的钱从哪里来?回答是广告。谷歌搞了很多酷炫的研发,例如人工智能,但它的业务核心就是互联网广告。谷歌多年来的季报中,广告收入占比高达83-90%。2018年,谷歌营收总额为1368.19 亿美元,较上年增长 23%,全靠广告收入增长。

谷歌母公司Alphabet收入情况

对互联网广告公司,最关键的是流量入口。2018年,谷歌付给苹果的“买路钱”高达95亿美元,2019年据说要涨成120亿美元。谷歌2018年第四季的流量获取成本高达74.4亿美元,上涨16%,只是因为广告业务增速不错,还能够覆盖。

谷歌做得成功的一点是,眼光长远地收购了安卓,通过免费推广,垄断了开放手机操作系统,不然购买流量的买路钱会更加惊人。谷歌还发展了架构不错性能优秀的浏览器Chrome,这也是互联网流量的重要入口。

如果安卓阵营崩溃了,谷歌可能就会走下坡路,广告市场被瓜分,流量获取越来越麻烦。每个手机上面的浏览器五花八门,APP乱七八糟,搜索引擎也被换得面目全非。

在全球市场,如果手机操作系统的乱世来了,谷歌可能不知不觉就在不少国家的手机生活中消失了。例如欧盟就对谷歌很不满,反垄断罚款搞了几次,2018年7月就罚了43亿欧元。欧洲本来是有传统广告市场的,不受美国控制。进入互联网时代,传统广告萎缩,互联网广告崛起,欧洲公司却基本没有份,市场全让美国公司占了。

欧盟曾经和中国合作,在3G、4G时代把美国电信设备公司的技术路线堵死,使美国失去了5G的技术能力。当手机操作系统的乱世来临,欧盟会有动机再次和中国合作,例如对谷歌发动反垄断,扶持本土新兴互联网公司。这些办法中国早就有现成的,技术都准备好了,可以和欧洲公司合资分享美国公司让出的份额。

现在我们知道,谷歌为什么居然在曲线帮华为说话。华为和中国以至欧洲以至世界的IT公司如果共建新的生态成功,绝对是对谷歌的重大打击。这个意义,外界可能还不清楚,相关公司却是心知肚明的。

从以上的分析可知,安卓阵营崩溃解体是有深刻的技术背景的。但是由于开发新系统的各种麻烦,也没那么容易动手。华为如果不是被逼上梁山,也许就不会推出新系统。

美国政府悍然对中国发动了技术战争,自以为能用一纸禁令绝杀中国的高科技企业。但是华为以超强的战略眼光和执行力做好了准备,中国IT行业也经过多年努力建立了自主的互联网生态。以此为基础,中国公司从安卓的固有弊端入手,推出新的操作系统。虽然是为了生存,但最终确实可能沉重打击美国的互联网霸权。

最后,让我们回到我在开头念的那首诗,它是《西游记》的开场诗。《西游记》是我的启蒙读物,请注意我说的是全文原版的《西游记》,而不是小人书。我上学之前最爱看的就是吴承恩的原著《西游记》,这首开场诗给我留下了深刻的印象:

混沌未分天地乱,茫茫渺渺无人见。

自从盘古破鸿蒙,开辟从兹清浊辨。

 

赞(0)
请您分享转发:汉风1918-汉唐归来-惟有中华 » 袁岚峰:华为鸿蒙系统前景如何?从原理上看,大有可为|2019-06-18
分享到