华为公司以超强的战略眼光和执行力作好了准备,应对美国的绝杀。中国IT公司经过多年努力建立了自主的互联网生态。以此为基础,中国公司从谷歌旗下安卓系统的固有弊端入手,推出新的操作系统,对美国发动反击。安卓阵营面临的崩溃解体危机,让谷歌都着急了。
一.鸿蒙操作系统进展令人惊讶
2019年5月21日,华为手机业务负责人余承东透露,鸿蒙系统最快当年秋天推出,最晚明年春天。这个消息传出距今不到一个月,业界态势却令人惊讶地在快速发展。
月初,业界消息称华为在100万部手机测试鸿蒙操作系统。这个规模令人惊讶,说明系统已经初步成型,到了大规模测试修改的阶段。近日,除早有预料的BAT等互联网生态巨头与华为联合测试,又传中国几大手机厂商都派出技术员入驻华为,实测鸿蒙系统。
常用APP对新系统进行测试是必然的,手机厂商也来就不寻常了。这个消息还没有正式确认,也有人说手机厂商是来测试方舟编译器。之前华为4月11日公布了能大幅提升手机应用性能的方舟编译器,确实邀请了业界厂商使用。某小米高管微博上用比较粗俗的语言,否认参与了鸿蒙测试。
6月7日,英国《金融时报》称谷歌向美商务部游说,要求永久解除对华为的安卓禁令,以免给美国国家安全带来风险。谷歌的理由非常曲折,大致逻辑路线是:华为用不上安卓,就只好开发自己“不够安全”的混合系统,容易被窃听泄密;而美国人虽然自己用的手机是安全的,但也免不了要发送信息到这种不安全的华为手机上,就会有安全风险。谷歌为何搬出这么绕的理由替华为说话?一定是有大麻烦了。
笔者5月29日对华为操作系统的发展进行粗略推测时,还没有想到谷歌面对的麻烦居然已经这么大了。综合新信息回头再往深里想,是可以想清楚的:这回谷歌真的麻烦大了。
从反馈看,读者普遍对华为新操作系统很有兴趣。但是对第六点“其它中国手机公司也可能换华为操作系统”疑问较多,如认为华为可能不开放给其它公司,其它公司也会观望。
后续消息说明,事情发展得很快,在这种非常时期,不可以常理度之。中国市场用户对鸿蒙系统的兴趣明显非常高,如果Mate30这样的华为旗舰新手机,以及价格较低的荣耀系列新机真的上了新系统,会有很多用户购买试用。如果新系统比起安卓有本质的改进,如在新的架构与方舟编译器配合下运行速度大幅提升,新系统不会是弱项,反而是大卖点。
之前业界关注的是,美国政府可能进一步打击中国,把其它手机厂商也禁了。因为生存压力,OPPO、VIVO、小米(简称OVM)等中国大手机厂商需要备用操作系统,正如2012年任正非令人奇怪地大谈备用操作系统,OVM也需要有准备。一些舆论认为,需要国家协调出一个独立的新操作系统公司,而不是华为自己用。华为新系统在这种观察中,还是一个备用的概念,是极端情况下走投无路的选择。
现在的进展说明,即使谷歌让其它中国手机厂商继续正常使用安卓,其它厂商也将面临巨大的市场竞争压力!
如果OVM这些大厂商不支持鸿蒙系统,只有老的安卓系统,可能在竞争中是重大劣势。如被认为只有“低档的操作系统”,各种性能不如硬件同档次但支持华为新系统的手机。也有可能手机厂商被群众认为技术上没有追求,死抱着美国体系不愿走独立道路,影响形象。就算不防美国禁用,单纯只为了市场卖点,各大厂商也需要积极跟进新系统。
媒体曝光的鸿蒙操作系统界面
因此,如果鸿蒙系统愿意开放,中国各大手机商进驻华为测试完全可能。从操作系统架构来看,安卓能支持各种硬件类型的手机,想取代安卓的鸿蒙肯定也是普适的,不会只支持华为自己的机器,如不会只支持麒麟970、980等自家芯片。而且鸿蒙系统已经说了是跨平台的,电视、汽车都支持,只是硬件稍有不同的手机肯定没问题。
2019年4月11日华为发布方舟编译器,重新编译后手机性能提升显著
还有一个非常可能的情况,一些安卓系统的老版手机,如果硬件不是太差,可以刷机变成鸿蒙系统!这就不是新机抛弃安卓的问题了,老机器都可能改变阵营。如果手机换系统性能就可以提高不少,相当于什么钱也不用花,手机就升级了,用户会非常有兴趣。之前华为已经通过方舟编译器,在安卓系统上实现了华为老手机的性能大幅提升。连安卓也换掉,从技术上来说是自然的发展。其它厂商的老手机硬件配置大同小异,基本是高通或者联发科的核心芯片,集中研发后,换新系统也能取得性能突破。
对谷歌来说,搞不好一夜之间安卓系统在中国市场份额就完蛋了。而且不仅是市场份额的问题,如果新系统性能明显好,安卓的口碑会崩溃,被认为是低等的系统,是影响手机卖价的老系统。
二.安卓阵营面临崩溃解体
如果中国市场安卓被快速取代或沦为低档选择,这对谷歌会是一个很不好的范例:换掉安卓是可以成功的!而且这不是还要很多年才发生的事,2019年就会开始了,是谷歌需要面对的现实危机。
外国一些公司本来就在盘算安卓系统的份额,如亚马逊也在搞操作系统。亚马逊有一个Fire OS用在kindle、智能音箱等硬件设备上,虽然是基于安卓的,但是改得很厉害。亚马逊在云计算业务上很厉害,如果搞一个手机平板新操作系统,程序主要跑在云上,终端负责显示,这都是自然的发展。亚马逊系统虽然是基于安卓的,但并不是跟着谷歌不断升级版本,而是自己搞一套。
微软之前是认真准备和安卓全面竞争的,一度声势很大。安卓刚出来时缺陷不少,微软在操作系统上积累很深,其实是有一定优势的。后来Windows Phone(简称WP)在2017年11月宣布停止开发了,市场份额变成了零。这让人们觉得手机操作系统不简单,连微软都被消灭了,对于取代安卓不敢想。其实程序员们只是暂时放下了骚动的心。
微软和诺基亚搞到一起力推WP手机,从结果看是互相坑了,HTC也卷入得深一些。其它公司基本不捧场,一般是搞一两个机型试水,不行就没再跟了。主要原因是搞的时候比较早,很多问题搞不清,没想明白要干啥。2010年10月微软发布了第一个版本WP7.0,中间WP7.5升到WP8.0时,居然不向下兼容,另外搞了一个WP7.8让7.5的升级。然后2015年1月又推出了windows 10,对PC、笔记本、手机、平板等多个平台统一支持,目标太大,手机这边就搞不下去了。微软倒是开放,邀请各家来用WP系统,但是开发者们不捧场,生态没起来,就撑不住了。不捧场是因为微软的大公司病,开发收费不说,明显有毛病还不改,改起来动作也太慢,不象安卓那样快速迭代进步,大家受不了不玩了。微软诺基亚阵营解体,诺基亚都转向了安卓平台开发手机,安卓阵营彻底胜利。对开发者来说,苹果和安卓构成封闭-开放两个特色很不相同的阵营。
苹果的IOS是封闭的,不让别家用,所以和开放的安卓不是直接竞争,是通过手机销量在间接竞争。开放市场是各家打来打去,全球开发者用脚投票,最后安卓一统天下了,算是“分久必合”。但这也说明,开放市场是会发生战争的,弄不好哪天又天下大乱,“合久必分”了。现在华为推出自主操作系统已经是确定的事,天下大乱开始了。
以前不出来打,并不是安卓很完美,而是因为安卓在上升势头,天下由分到合的过程中,开发者们确实觉得开发省事了,心向安卓(和微软WP比),愿意跟着安卓一起进步。新玩家跳出来时机不对,没有生态做配套,也没有技术优势。
等安卓垄断了开放市场,没有了战争,大家就静下心来,在不断的升级中积累了经验,逐渐认清了安卓的根本弊端。这种弊端是安卓架构的问题,也是整个安卓阵营过于庞大带来的困境(如各种机型都要适配),无法通过升级解决。当更先进的架构与技术时机成熟后,必然有起义者,开启乱世。在乱世中,安卓那肥美的市场份额正好是绝佳的打劫对象。对全球有实力的IT大公司来说,闲着也是闲着,如果跑出来能啃掉安卓一块份额没坏处。
如果中国市场这里,安卓的统治居然被一夜掀翻,有实力的全球大公司会非常有兴趣跟上分食安卓的份额。IT业技术扩散很厉害,在开源代码帮助下,众多程序员在精英开发者带领下拼命加班,不长时间就弄出来了。如果有成功的范例,开发者方向明确敢于投入,会比想象中容易。
都不用彻底抛弃安卓,只要把安卓弄出无数混乱的分叉,整个安卓阵营也会一片混乱,打着安卓旗号实际自立为王的大小公司会到处都是。这种情况谷歌也等于失去了控制,统一升级无从做起,勉强搞个升级声称是“正朔”,别人也不买账。实际上谷歌在论证“禁华为用安卓有损美国国家安全”的古怪逻辑中,就是把华为新操作系统称为安卓的一种“劣质分叉”,已经不由自主自居“正朔”了。
而其它公司搞分叉的理由很好理解:谷歌要带着整个阵营一起升级,拖累太多搞不动。各家公司有特殊的软硬件体系,华为证明了自己搞能大幅提升性能,为什么不也来搞个分叉试试?没有什么业界规范说不能搞分叉。
对谷歌来说,这可就要了亲命了。安卓阵营崩溃解体,不只是手机操作系统的事,对谷歌整个公司的生存都有重大影响。安卓一直是免费的,虽然有放风说要收费。安卓对谷歌来说,意义是搜索流量入口,这是关乎立身之本的重大关键,所以一直免费推广。
谷歌本质是个广告公司,业务在互联网上。虽然搞了很多酷炫的研发,如人工智能,但是业务核心就是互联网广告。谷歌多年来季报中,广告收入占比高达83%-90%。2018 全年谷歌营收总额为1368.19 亿美元,较上年增长 23%,全靠广告收入增长,其它业务没有起色。
对互联网广告公司,最关键的是流量入口,能获取多少流量,要多少成本。用户其实懒得管入口是什么,什么顺手就用什么,但是对拥有入口的公司来说这是一个巨大的资本。2018年,谷歌付给苹果的“买路钱”高达95亿美元,2019年据说要涨成120亿美元。谷歌做得不错的是,眼光长远地收购了安卓,通过免费推广,垄断了开放手机操作系统,不然谷歌付出的买路钱会更吓人。谷歌还发展了架构不错性能优秀的浏览器Chrome,这也是互联网流量重要的入口。谷歌为了广告核心业务,抓住了流量入口这个关键,精心布局。谷歌市值8000多亿美元,和苹果、微软、亚马逊是一个级别,排世界前四,主要就是广告业务搞得不错,一直高增长,也能够以适当成本获得流量。
与之相反的就是百度,一度在中国IT公司中市值第一,现在只有阿里腾讯的十分之一了。百度对搜索排名点击费率之类的业务很用心,短期也搞到不少广告费,在中国公司中也算是非常重视IT技术的,人工智能技术储备不错,培养了很多人才。但是百度却忽视了流量入口的长期建设,没有战略眼光,也可能是执行能力不行。总之百度已经被其它公司打得满头是包,流量渠道被瓜分得面目全非,操作系统没有,无数公司都推自己的浏览器,百度浏览器份额很小,百度APP春晚大做广告没有什么用。广告市场被别的互联网公司抢掉很多,百度还剩的份额流量获取费用也高,只好相应提高互联网广告价格,经常只有高利润广告主能竞争到广告位,于是莆田系坑人医院、各种坑蒙拐骗的黑心厂商就变成百度的大客户,口碑越弄越差。百度又想用搜索帮助导流,连吃饭本事搜索都弄得没法看了,和谷歌的思路是反着的。
但是谷歌也不是说就很好混,毕竟它也是依赖流量做广告的,百度碰上的麻烦它可能只是暂时避过去了,打击可能仍然会来。因为被苹果狠宰,别的渠道也纷纷多要钱,谷歌2018年第四季的流量获取成本高达74.4亿美元上涨16%,只是因为广告业务增速不错还能够覆盖。
如果安卓阵营崩溃了,谷歌很可能就走下坡路了,广告市场被瓜分,流量获取越来越麻烦,象百度一样无力挣扎。现在大家还是在安卓上搞开发,以后安卓不行了,乱世来了,谷歌的生态可能就崩了。每个手机上面的浏览器五花八门,APP乱七八糟,搜索引擎也被换得面目全非。重视搜索质量的人可能会特意用谷歌搜索,但这种人往往不是商家的广告目标,人数也不够多。那种到处随便看的人反而是最主要的广告投放对象,不知不觉就看了一堆广告,对搜索质量并不在意,生活中就算谷歌消失了也无所谓。中国用户就是这样,谷歌用不了有一些人抱怨,但也没有大事,广告市场非常碎片化。
在全球市场,如果手机操作系统乱世来了,谷歌完全可能不知不觉就在不少国家从手机生活中消失了,只要挖墙角的够狠够用心。比如欧盟就对谷歌很不满,反垄断罚款搞了几次,2018年7月就罚了43亿欧元。欧洲本来是有传统广告市场的,不受美国控制。进入互联网时代,传统广告萎缩,互联网广告崛起,欧洲公司却基本没有份,市场全让美国公司占了。
欧盟曾经和中国合伙,在3G、4G时代把美国电信设备公司的技术路线堵死,导致美国要搞5G却发现没有技术能力了。当手机操作系统乱世来临,如果能把互联网广告市场搞回来,欧盟会有动机再次和中国合作,如对谷歌发动反垄断,扶持本土新兴互联网公司。办法中国早就有现成的,技术都准备好了,可以和欧洲公司合资分享美国公司让出的份额。这说得有些远了,但如果真乱套失去控制,谷歌绝对没法安心。
看了以上这些讨论,就知道谷歌为什么着急了,居然曲线帮华为说话了。华为和中国IT公司如果共建新的生态成功,绝对是对谷歌的重大打击,这个意义外界可能还不清楚,相关公司却是心知肚明的。
三.安卓阵营崩溃解体的技术背景
以上说安卓阵营崩溃解体是偏商业的描述,如果安卓很完美,或者能够通过升级解决大问题,这种可怕景象是不会发生的。但安卓作为操作系统,确实就是有难以克服的技术弱点,可以进一步解释,加深理解。如对操作系统相关知识无兴趣,可略过。
安卓是基于Linux开发出来的,而Linux是“宏内核”。有些新闻介绍说,华为的鸿蒙系统是基于“微内核”的,也就是说并非基于Linux,和安卓有本质区别。这说的是什么意思?
宏内核(Monolithic kernel)是说,操作系统的核心代码都是以特权模式运行在一块核心内存空间(kernel space)中的。这些核心代码虽然分模块各做各的事,但算是一个团伙,互相紧密关联,一荣俱荣,代码规模比较大,很难修改成其它类型的操作系统。典型的就是Linux代码,模块不少,核心代码已经很长了,也不太好拆开来,而是精心安排让各模块共同运作好。要开发,就得按照它的套路来,不好自己灵活安排。有时一个设备,要不了太多功能,但是整个宏内核都得放上来,想剪裁就很麻烦。
而微内核(Micro kernel),只提供操作系统最基本的少数核心功能,是精简版本。核心模块互相独立,运行提供服务时有自己的内存空间,和用户进程一样运行,不是特权模式。微内核就很灵活了,要什么服务就把相关的模块放上来,互相独立不影响,不用太顾虑配合问题。这样就有很好的扩展性。
安卓是基于Linux的,是宏内核,由一堆底层特权模式的核心代码紧密组合在一起。这个架构,它的灵活性是不够的。面对各种硬件配置的手机,或者平板、电视之类的系统,它都是这一个架构,怎么适应?于是就搞出一个叫“虚拟机”的东西,假设大家都是在虚拟机上运行,代码是跨平台的,这么幻想着开发。每一个安卓应用,都在操作系统底层对应着一个虚拟机实例,由这个虚拟机来伺候运行应用程序的代码。
安卓程序开发者写的代码,其实是针对虚拟机的,所有机型都是一样的程序文件。但是不同机型,底层的机器代码其实不一样,如CPU类型不同。这样,虽然开发者能够一套程序所有安卓机都能跑(就是常见的APK安装文件),但是中间就需要经过虚拟机的翻译。
在早期版本的安卓系统中,这个虚拟机甚至是在实时解释翻译应用程序的代码,而且每次运行都要解释一次。执行时碰到一段代码,就解释翻译一段,变成机器码交给底层执行。不能整个应用程序一次性全翻译完,这样会卡。应用需要点一下就立刻能进去,等用户真开始操作了再把相关代码调上来解释翻译。
后来安卓进步了,在第一次安装APK程序时,直接一次性全翻成机器码,效率就得到了提高。虽然安装过程会慢一点,程序占用空间也大了一点,但每次点开运行时都好多了。
程序如果能直接针对底层机器硬件优化,性能可以提升非常多,就如苹果机器那样。华为方舟编译器也是这样,直接生成底层高效机器码。但是通用的安卓平台真不好办,只能对虚拟机搞点通用的优化把APK文件弄好点,然后虚拟机把APK翻译成机器码时也搞些通用的优化。这种分段通用优化的办法不可能做得多好,比APP直接针机器码优化要差不少。
有些APP开发者是可以绕过安卓,直接对某一机型优化。例如腾讯的王者荣耀,检测到用户是OPPO的机子,OPPO又给腾讯交了足够的“特别优化费”,就调用经过特别精心优化的高效机器码。但是这个过程就很麻烦,一般开发者搞不了,这也说明安卓要高效支持多种机型很困难。
长久以来,安卓系统就被诟病不如苹果iOS性能好,原因也被业界人士分析清楚了。苹果系统优势的基础是封闭性,不需要考虑兼容,所以可以自己控制,优化尽情地做。例如苹果APP就是直接编译成高效的机器码,在苹果自己开发的CPU如A12上执行,编译器优化可以做得很好。苹果还可以对开发者进行严格的管理,提供丰富的高效率底层接口给开发者,不许开发者使用低效的操作拖累整机效果。
安卓系统方便各种手机厂商开发,兼容做得好,所以占领了市场。但是既然要考虑兼容,管理就不可能太严厉,不可避免会带来效率降低。例如内存管理,各种安卓机各种APP都要能跑,内存操作就会比较零碎,一会分配一会释放,最后内存空间就碎片化了。到一定程度,没有可用的大块内存了,安卓系统就要运行一个内存整理程序把碎片化的内存合并成大块。这时不管机器上在运行什么程序,都会暂停一段时间,等待内存整理完毕,用户就会发现很厌烦又难以理解的机器卡顿了。增大内存也不一定能解决问题,有时安卓机6G内存还不如苹果机3G内存流畅。
这些毛病谷歌其实知道,安卓系统在不断升级,人们对安卓系统慢慢觉得能够接受了。但是就怕比较,和苹果机比起来顺滑流畅的感觉总是差一些,原理上就比不了。就算是安卓机阵营内部也在比较,想要更好的性能。安卓又要兼容,谷歌要协调使用者的利益,一些改进不能只针对某些机型。安卓升级改进,或者APP开发时最麻烦一点就是“适配”,各种机型多得很,这些机子看着弄好了,那些机又不行了。人们已经得出结论了,在现有这个兼容框架下,安卓的固有弱点不好改,会永远受束缚。例如优化就不可能做到极致。
华为通过引入方舟编译器已经证明了,用编译器取代安卓系统的中间环节,从APP代码到机器硬件执行一步到位,直接生成高效机器码,能一举取得高达60%的性能提升。这就是说,从代码到机器是可以直接对话的,不需要安卓在中间插手。也就是说,单独一个安卓系统机器,优化潜力是很大的。只是面对的机器种类太多,兼容适配太麻烦,没法统一搞。这其实就蕴含着安卓阵营崩溃解体的力量。既然捆在一起潜力不大了,不如分开来各过各的,各自发展自己的分叉,不需要谷歌协调了。
谷歌也知道这个情况,在开发Fuchsia操作系统,试图从底层重新出发,解决安卓系统的问题。例如Fuchsia不要Linux的宏内核了,改用灵活的微内核。谷歌的计划,是时机成熟时用Fuchsia取代安卓系统,手机、平板等各种机器都包括。这听上去和鸿蒙系统有些象。
但是鸿蒙系统看样子会比Fuchsia更早大规模投入市场。还是那个问题,谷歌不能自己搞分裂,还想维持表面上的一统天下,开发时要考虑的事情就多。而华为开发鸿蒙时不怕和安卓分家,可以大胆操作。这也是创新时常见局面,旧的市场大佬利益太多不敢革自己的命,新入场的却能放手大干一场。
理论上来说,鸿蒙基于微内核,比Linux要灵活,对机器进行优化组合更有空间。而编译器对于操作系统效率是非常关键的,华为会用方舟编译器积累的技术,甩开安卓虚拟机的限制,直接对各类机器进行高效编译。微内核架构有利于在这个方向进行努力,如一个关键组件并不是象Linux那样已经定好了代码写死了,而是在不同机型由高效编译器分别准备好。
这种开发非常有难度,需要对操作系统底层有深入的了解。但只要投入足够的人力去做,原理上有把握做出来一个开放的高效操作系统。其实这一步并不是最关键的,最关键的是应用程序开发商要配合在新系统上编译,而且不是随便编译能用就行,要深度优化共建生态。由于美国无理对华为禁运,已经帮华为解决了这个最大的问题,中国APP的开发者都会积极与华为配合。如果没有谷歌对华为禁用安卓这事,华为独自推出一个新操作系统,要邀请别的大公司配合会很麻烦,中国别的大公司可能会各有算盘,会不会深度配合优化不好说。作为开放的操作系统,最好其它厂商也来试用。看来在美国倒逼和中国市场舆论影响下,中国手机厂商也会积极地参与进来。
从以上的技术分析可知,安卓阵营崩溃解体是有深刻的技术背景的。但是由于开发新系统的各种麻烦,真要动手促成安卓解体,也没那么容易开始。因为可能白费钱没有成果,光自己努力不行,没有生态就不行。华为如果不是被逼,也许就不推出了。
美国人悍然对中国发动了技术战争,自以为能用一纸禁令绝杀中国最优秀的高科技企业。但是,华为公司以超强的战略眼光和执行力作好了准备,中国IT公司也经过多年努力建立了自主的互联网生态。以此为基础,中国公司从安卓开放系统的固有弊端入手,推出新的操作系统,对美国发动反击。虽然这是为了生存,也确有可能沉重打击美国的互联网霸权。
背景简介:本文作者笔名陈经,中国科学技术大学计算机科学学士,香港科技大学计算机科学硕士,科技与战略风云学会会员,《中国的官办经济》作者,微博@风云学会陈经。
责任编辑:吴啟然