来源 | 量子位(ID:QbitAI)
作者 | 乾明
华为鸿蒙(HarmonyOS)昨日面世,有赞美,更有质疑。
发布会后,华为消费者BG CEO余承东、华为消费者BG软件部总裁王成录,就集中对这些质疑作出解答。比如鸿蒙如何实现诸多能力、如何开源、大家何时能够体验,以及将来会如何发展等等。
量子位基于余承东和王成录的回答,梳理出十大问题,带你完整了解鸿蒙OS的来龙去脉和未来野心。
第一问:鸿蒙OS为安卓备胎而生?
余承东说,鸿蒙OS是面向未来的操作系统,且是一个面向AI的操作系统。
华为逻辑,未来将是万物互联的时代,这对操作系统提出了更高的要求,不仅要流畅,也需要安全。但是现有的解决方案,都不如人意。
余承东列举三大不足:
首先,安卓和Linux操作系统内核庞大冗余,难以保证不同终端的体验流畅。
其次,多终端设备中存储着越来越多的敏感信息,安全上提出了更高的要求。
第三, 当前的操作系统中,软件生态与硬件绑定,跨终端体验难以保障,也降低了开发效率。
不过,谷歌和苹果,也已经致力于发展新的OS,但余承东说,它们仍旧面临困难与瓶颈。
比如,谷歌正在投入400人开发“大一统”的Fuchsia系统,未来的发展方向是微内核,但并不是分布式设计,性能较差。
至于苹果公司,使用的是混合内核,现在系统逐渐分裂,而且生态又封闭。
所以鸿蒙OS为何而生?就是为未来而生,有时代背景,目的是实现OS与硬件绑定,生态与OS耦合。它也是华为消费者业务未来5~10年的长期战略——全场景智慧生活战略的核心。
而且一开始也不为替代安卓或是安卓备胎,但紧张的国际局势对鸿蒙OS既定路线产生了直接影响,逼快了鸿蒙OS的发布过程。
余承东原话:“人都是被逼出来的。”
余承东说,这一系统计划在2020年秋天发布,为了能够现在发布,华为内部有近5000人团队加班加点在做开发工作。
发布会当日恰逢余承东50岁生日,他说之前已经考虑过退休生活了,但被美国这么一打压,觉得还有很多事情可做、要做。
第二问:鸿蒙OS适用全场景到底是什么意思?
华为的官方定义是,基于微内核的全场景分布式OS。
最核心的亮点,是实现了模块化解耦,对应不同的设备可弹性部署。余承东专门放了一页PPT介绍。它不仅适用于手机、电脑、平板,还适用于可穿戴设备、车辆、音箱等各个平台。
余承东在接受专访时表示,它的“弹性”空间还有很大。比如,其高效率链接和低时延的特征,也使其更适用于工业领域。而且,可弹性部署不仅仅是部署就完事儿了。
它还能将被弹性部署的硬件的能力虚拟化,将其作为共享资源,更有效率地利用起来。
华为介绍称,这是分布式架构首次用于终端OS,可以实现分布式任务调度、分布式数据管理,并实现跨终端无缝体验。
第三问:鸿蒙OS可弹性部署只是口号?
余承东说,模块化解耦,是鸿蒙OS实现不同设备弹性部署的关键。
到底怎么弹性的呢?并没有怎么说。发布会后,王成录解释了。
解耦是从逻辑上对现有的软件系统架构解耦,而不是直接切割代码解耦。
解耦后写好各种通用接口文件,里面详细记录每个模块适用于什么样硬件配置的设备,它们的线程和交互进程通信是怎样的。
碰到新的硬件时,鸿蒙OS会根据硬件的处理器能力、内存大小、ROM、麦克风等等各种硬件环境自动适配相应的模块上去,实现可弹性部署。
这就是鸿蒙OS能够适用于GB级别的电脑手机、MB级别的智能手表,KB级别的小型智能家居设备的基础。
现在,鸿蒙OS中这样不同的模块之间接口通用文件有8000多个,能够适用于更多终端设备。
王成录说,这些是竞争对手抄不走的,不仅要人、要钱还要创意。
他介绍称,这项工作早在开发EMUI 5的时候就已经开始了,当时动用了团队40%的人力,对基于安卓内核的软件架构进行了梳理,将操作系统模块化。
第四问:所谓跨终端无缝体验,不就是一个云服务吗?
跨终端无缝体验听起来玄乎,仔细一琢磨,不就是一个云服务吗?
王成录说,不是。在鸿蒙OS中,已经没有云和端的区别,云就是一个巨大的端。
最核心的技术在于软总线技术,基于软总线技术,时延不是问题。王成录说,这其中用到了许多华为在通信领域的技术积累。
这一技术实现了极简协议,将四层协议栈精简为一层,提升了有效载荷,来实现交互极简、更快发现、更快连接。
多优秀呢?低时延(端到端时延小于20ms)、高吞吐(有效吞吐高达1.2Gbps)、高可靠(抗丢包率高达25%)。
然后,也有人“砸场子”,问他这和苹果系统中跨终端链接有和不同?这不早就实现了吗?尤其是iOS 13,能把iPad当画板。
王成录回应说,苹果iOS 13的确和鸿蒙OS的一些功能有相似之处,但核心上还有很大差别。
安卓或者iOS系统生态,是为手机硬件设计的,当出现新的硬件形态时,就会基于原有系统设计出新的系统来适配硬件,比如这次苹果就专门高出了一个iPad OS。
但鸿蒙OS的定位就是全场景系统,适用于各种硬件,而不是根据硬件去开发新系统。
在这样的设计下,系统在各个不同的设备之间通信,难度就大大降低了。
应用到多设备协同上,还有另外一个听起来很玄乎的技术:硬件能力虚拟化。
这到底是什么?最直接的一个例子是华为在开发者大会上放出的一个Demo。
将手机与无人机连接后,再与人进行视频通话,对方可以看到无人机摄像头拍摄的实时视频。其中,手机通话功能是手机独有的,但是摄像头是无人机上的。
王成录说,这就是硬件能力虚拟化和软总线技术结合后实现的能力。将你拥有的设备硬件抽象化,然后组成软件能力单元,做成一个硬件库。硬件与硬件不只是相互高效通信那么简单,而是真正的硬件能力共享。
具体如何实现的?
他当场举了一个打印机的例子。当我们在Windows系统上发出打印需求时,无论什么样的打印机都能执行打印命令,背后的原因在于驱动文件与Windows系统进行了链接。
这与鸿蒙OS实现硬件能力虚拟化也多有相似之处。
第五问:一次开发多平台部署,是不是忽悠人?
虽然很多人都想着一次开发多平台部署,苹果也多次提到这一宏伟目标,想让iOS应用迁移到Mac上,强化Mac系统,但还是步履蹒跚。
鸿蒙OS怎么就敢说一次开发,多平台部署?解决方案是面向多终端开发的IDE。
华为表示,这可以提供屏幕布局,控件以及交互的自动适配。也支持控件拖拽,面向预览的可视化编程,支持一次开发,多端部署。
余承东表示,开发者借助分布式能力Kit开发跨终端应用,能够像开发普通应用一样简单。
王成录说,这背后也是将UI进行抽象解耦,进行不同的硬件适配,这和上面提到的可弹性部署有不少相似之处。
第六问:鸿蒙OS比安卓更强更安全,是不是吹牛?
余承东说,鸿蒙OS性能比安卓更高、更安全。
这体现在哪?
首先说性能,最直接的体现就是,IPC(进程间通信)性能,这对于提升系统性能至关重要。
余承东说,安卓沿用Linux内核调度机制,是一种面相服务器负载的公平调度模式,难以保障用户体验。
而鸿蒙OS,分布式调度技术,可以负载实时分析预测,匹配应用特征实现资源精准调度,相应时延降低了25%。
余承东打了个比方,Android系统就像各种车辆都挤在同一个车道,而鸿蒙OS相当于给道路划分出了快车道、慢车道、自行车道,各个进程之间不会相互堵塞。
基于这样的调度方式,鸿蒙OS进程之间通信效率,比谷歌新开发的微内核系统Fuchsia还要高出5倍,比实时操作系统QNX还要高出3倍。
更为关键的是方舟编译器。
华为方舟编译器是首个取代安卓虚拟机模式的静态编译器,可供开发者在开发环境中一次性将高级语言编译为机器码,经过编译后,最多可以实现60%的性能提升。
然后是安全。
在这方面,余承东的说法是,将微内核技术应用于可信执行环境(TEE),通过形式化方法,重塑可信安全。
这种形式化方法,是利用数学方法,从源头验证系统正确,无漏洞的有效手段。之前主要应用于航空与芯片设计等领域,实现起来极为复杂,一行程序代码,需要100行验证代码。
鸿蒙OS首次将形式化方法用于终端TEE。更为关键的是,微内核天然无Root,细粒度权限控制从源头提升系统安全。
相比之下安卓采用的是宏内核,将系统底层功能、组件和驱动都打包成一个大内核,安全权限依靠Root。
在安卓系统中,只要掌握了Root权限,真的就能为所欲为了。
如第一问中所说的那样,微内核的设计中,系统底层功能、组件和驱动都是模块化设计,外核服务相互隔离,独立加密,从而更加安全。
但有一个比较棘手的问题:全场景部署了之后,安全等级比较弱的设备,不就成了突破口吗?
王成录说,解决这一顾虑主要有两点:第一是加强对设备的认证与信任机制,保证都是正规厂商的设备。
其次,数据分布式存储,用的时候再集中起来,这样会更安全。
第七问:手机上不能体验到鸿蒙OS?
鸿蒙OS发布之后,不少人非常关注的是,能够在手机上体验鸿蒙OS吗?
余承东说,其实鸿蒙OS在手机上的适配已经完成,随时可以切换,而且只需要一夜就可完成切换。
现在优先使用安卓,是出于支持谷歌和生态系统的考虑。只要谷歌不让用,随时可以切换过来。
言下之意,不出意外很难推鸿蒙OS手机了。
不过,尽管没有鸿蒙OS的手机,也可以在手机上感受到鸿蒙OS的特性。
王成录说,EMUI 10中,已经采用了不少鸿蒙OS的能力,比如硬件能力互助共享、一次开发多端部署、分布式安全等等。
除了手机之外,鸿蒙OS已经逐步应用到了其他硬件上。
今天发布的荣耀智慧屏产品,就是首款搭载鸿蒙OS的产品,之后会逐步应用在其他设备上。
第八问:鸿蒙OS开源会在GitHub上开源吗?
只说开源两个字,尽管现场一阵惊呼,但很多人是不会买账的。
因为没有给出来开源地址。
会在GitHub上开源吗?如果美国封禁了怎么办?
王成录说,因为GitHub在美国,更希望和国内的一些合作伙伴,组件国内的开源社区。
他透露,一两个月后,中国的开源基金会将正式运营起来。但现在正式名称还不确定。而且,国内的开源基金会也将借鉴国外的运作模式,根据大家在社区的贡献来确定大家的排名。
此外,在开发者大会上,王成录也正式宣布了方舟编译器的开源计划,2019年8月框架开源,2020年之后会完整开源。
第九问:鸿蒙OS计划表如何?
不可回避的一个问题是,鸿蒙还不是一个非常成熟的系统。
鸿蒙也不是完美的,至少现在它还不是一个完全微内核的系统:其使用的内核是Linux内核、鸿蒙微内核以及LiteOS。
未来,将会把所有内核替换成微内核。王成录说,这大概需要两年左右的时间。
余承东也放出了鸿蒙的未来规划,从中可以看出,上文提到的不少技术,都还在研发中。
现在是鸿蒙OS1.0版本,实现的功能有:基于开源框架、关键模块自研;分布式架构;方舟编译器;确定时延引擎;TEE微内核形式化验证;多终端开发IDE(Beta)。落地产品为智慧屏。
到2020年推出鸿蒙OS2.0,将会实现:内核及应用框架自研;通用微内核架构;高性能图形栈;支持多语言统一编译;多终端开发IDE;满足车规级标准。落地产品为:创新国产PC;手表/手环;车机等。
2021年,推出鸿蒙OS3.0,实现软硬协同优化;垂直加速文件系统;软硬件协同高性能IPC。落地产品的为音箱、耳机等。
第十问:鸿蒙OS有何不足?
最关键的弱点,在余承东的言语之间也有所透露——生态。
这是苹果iOS和谷歌安卓的优势所在,也是各个操作系统死于非命的重要原因。
余承东说,这对于他们来说是一个漏洞。开源也是考虑于此,希望给人信任,让更多的人参与进来,共建鸿蒙生态。