“终端分布式操作系统不会只有鸿蒙 OS,很可能会像移动互联网时代一样出现 Android 和 iOS 两雄争霸的局面。”谈及 9 月 10 日华为开发者大会上发布的鸿蒙 OS 2.0(Harmony OS,下称“鸿蒙 OS”),中国科学技术大学软件学院教师、《庖丁解牛 Linux 内核分析》作者孟宁认为,鸿蒙 OS 一定会引起国内外巨头的跟进。
鸿蒙 OS 主要涉及五大技术:应用框架、13000+APIs、HUAWEI DevEco、方舟编译器和分布式应用。假如鸿蒙 OS 是一栋大楼,这五大技术就是地面上可以看到的建筑物,内核则是看不见的地基。
基于此,DeepTech 就大众较为熟知的分布式应用和方舟编译器这两大 “建筑物”、以及作为“地基” 的内核,和前文的孟宁、华为云 MVP 马超、中国科学院计算技术研究所研究员冯晓兵、鉴释科技首席架构师刘新铭等专家,进行了深入交流。
分布式能力:鸿蒙 OS 的“房顶”
华为给鸿蒙 OS 的定义,是“首个真正为全场景时代打造的分布式操作系统”。分布式,也是华为在鸿蒙 OS 的介绍中,提及最频繁的名词之一。
孟宁告诉 DeepTech,传统分布式操作系统主要在云端使用,比如 Hadoop。据他了解,鸿蒙 OS 是业界首款终端分布式操作系统,也是面向 5G 智能物联网环境开发的操作系统,它要解决的核心问题是协同多个智能终端,完成单个终端难以达成的目标。
在本次发布会上,华为也通过系列案例,展示了鸿蒙 OS 的分布式能力,比如让“远程课堂如现场教学”。此前,使用教育软件进行在线教学时,所有界面都挤在手机、或平板等设备上,由于界面太繁杂、干扰信息太多,学生使用时很难集中注意力。
鸿蒙 OS 的分布式能力,可让远程学习“像在教室里一样”。发布会现场,华为展示了某教育 App 的案例,该 App 基于鸿蒙 OS 分布式框架,能把教师的实时讲课放到大屏上,学生手上拿的平板或手机,仅用作跟老师的沟通。
此前这样的应用,无法在单设备上完成,更无法在两个设备之间联动,而鸿蒙 OS 的分布式能力,则能实现上述功能。
孟宁分析称,分布式操作系统和集中式操作系统是相对的。在组织管理上,分布式操作系统更具灵活性和鲁棒性,可避免集中式操作系统的单点依赖、容错性差等弱点。
因此,分布式操作系统可灵活地进行不同组合和协同,它的主要作用,是统一多种硬件资源,为分布式应用提供简洁的高层应用接口。
当前,市面上大多数分布式技术,都是云端分布式技术,而云端分布式技术和终端分布式技术,并没有显著区别,但它们面临着差异巨大的网络环境。云端分布式系统所依赖的网络,往往是数据中心内部的有线网络。
而终端分布式系统所依赖的网络环境更复杂,如 Wi-Fi、蓝牙、5G、以太网等异构网络。因此在技术优化上,终端分布式技术的挑战更大,而华为使用的正是终端分布式技术,孟宁认为这也是华为作为网络设备提供商的自身优势所在。那么,终端分布式技术,会有哪些特点?他给出了进一步分析:
1、低延时。以上述教育类软件为例,它对低延时有着广泛需求。但由于网络、协议栈和操作系统进程调度等因素的制约,用户很难获取流畅体验。
而鸿蒙 OS 可从整个软件技术栈,对系统进行优化,目前可以看到华为将网络性能优化的解决方案,提炼出一个新的技术概念——分布式软总线。
相比硬总线,软总线的意思是在多终端设备之间,有一条互联互通的数据通道,它能为多终端协同和系统管理提供基础服务。
2、可实现跨设备数据管理。在跨设备数据处理的过程中,操作系统不仅面临着低延时文件存取、数据库访问、搜索等挑战,还有数据管理上的挑战。当然天下武功唯快不破,如果跨设备数据同步足够快,数据管理的难度也会降低。
如下图所示,华为表示鸿蒙 OS 的远程读写性能、OPS 性能(Open Pluggable Specification,能为平板显示器增加计算能力)、以及检索性能,均高过三家友商的操作系统。
3、更安全。手机等终端产品,分布在不同网络环境下,它不像云端可以集中在固定的数据中心内部,因此终端分布式系统面临着更多的安全挑战。如何确保正确的人,用正确的设备正确地使用数据?这是分布式安全的挑战。
鸿蒙 OS 的安全法则是,面对潜在外部攻击设置防火墙;面对潜在内部攻击,则采用检测已知威胁、和 “AI 检测未知威胁” 两种办法。
此外,华为云 MVP 马超就鸿蒙 OS 分布式技术做了如下总结,他表示,鸿蒙 OS 主要包含分布式软总线、分布式数据管理、分布式安全三大块,这类似于变形金钢中大无畏式的超级合体战士,本身汽车人单体的作战能力已经非常优秀,再通过组合方式可表现出更优秀的作战能力。
谈及其他厂商也在使用分布式技术,马超分析称,此分布式并非彼分布式,传统意义上分布式技术是做减法,鸿蒙OS的分布式技术是在做加法,通过分布式硬件的虚拟化技术,打破单一物理设备硬件能力的局限,让不同硬件的能力可以互为补充,从而带来全场景智慧体验。
说到过去一年人们对鸿蒙 OS 的不满,孟宁认为,目前用户能感受到的操作系统主要是手机操作系统,其中 Android 和 iOS 位居市场统治地位,鸿蒙 OS 如果加入该存量市场的竞争,并不能带来多少商业价值,反而会让鸿蒙 OS 在替代 Android 上付出巨大投入,而这很不划算。
鸿蒙 OS 从物联网、车载系统、智能家居等领域切入,其面临的市场竞争压力更小,因为业内还没有其他终端分布式操作系统诞生,所以鸿蒙 OS 是在顺应 5G 时代潮流,开拓增量市场。随着搭载鸿蒙 OS 的智能产品的上市,用户对鸿蒙会有更直观的感受。
此外,华为本次也宣布,2021 年华为手机将全面升级鸿蒙 OS。 孟宁认为:“很有可能实现的预见是,鸿蒙 OS 不仅能进入手机操作系统,甚至能进入电脑操作系统领域。如果得以实现,鸿蒙 OS 作为分布式操作系统,也将成为人机交互的统一接口界面,那时它就是真正的全场景分布式操作系统。”
方舟编译器:鸿蒙 OS 的 “房梁” 之一
鸿蒙 OS 之所以在华为开发者大会上发布,而不是在该公司其他大会上发布,是因为一款操作系统能否取得成功,技术本身并不是关键,开发者生态才是关键。
本次大会上,华为消费者 BG 软件部总裁王成录表示:“中国科技产业非常繁荣,但是现在的繁荣非常容易凋零枯萎,原因是我们没有根,特别是在软件领域,(可以说)中国的软件行业是没有根的。”
孟宁认为,“根”就在于构建开发者生态,这也是操作系统领域竞争的关键。只有在操作系统上提供丰富的应用程序,用户才会选择它;而只有提供完善的开发工具,开发者才会选择它。
一般来说,开发者开发应用程序时,使用的是编程语言和编程接口,编程语言对应的工具是编译器,编程接口对应的是编程框架、SDK、云服务接口等,这些都是开发者生态中最核心的工具。
从 HiLink、HMS Core 5.0、HiCar、以及模拟器和集成开发环境等配套工具和服务来看,鸿蒙 OS 在开发者生态方面,已具备一定实力,并已吸引不少开发者加入其中。
图 | 鸿蒙 OS 中的方舟编译器 2.0(来源:华为 HDC)
这里要重点讲一下方舟编译器,中国科学院计算技术研究所研究员、国内编译器专家冯晓兵告诉 DeepTech,编译器和操作系统都是系统软件,它们各自有不同的作用和价值。
在计算机系统中,编译器的作用主要有两个:第一,将开发者开发的应用(通常使用高级程序设计语言开发),编译为可以在目标平台上执行的目标程序;第二,通过多种分析和优化技术,让目标程序可以更适合于在目标平台上执行。
终端用户可能意识不到编译系统的存在,但是编译系统又是不可忽视的,比如现在很多终端应用都采用 Java 语言开发,而很多 Java 应用的执行都离不开 JIT(即时编译技术)支持。
编译器对于开发者生态有着重要作用,曾担任惠普 Java 编译器技术实验室主任、鉴释科技首席架构师刘新铭,对此有着深刻体会。刘新铭告诉 DeepTech,华为方舟编译器的首席架构师周志德,是他的好朋友和前同事。
过去十年左右,刘新铭和周志德共同参与了包括 Open64 编译器在内的诸多项目。他们都坚持简单通用的设计原则,热衷在正确的抽象层上做正确的事情。
刘新铭指出,方舟编译器也秉持着相同的设计原理,并在其中设计了特定的 Java 抽象,来实现 Java 特定的优化目标。他认为,方舟编译器也让中国创建自主的计算机软件生态系统成为可能,因为有了编译器,才会有操作系统。中国只有具备自主编译器,才能在谷歌等国外巨头面前拥有发言权。
同时,鸿蒙 OS 的开源,是构筑开发者生态的另一极。孟宁表示,开源软件已成为最主流的软件开发模式,连微软都已开始拥抱开源。开源软件具有 “眼球足够多,Bug 无从藏” 的代码质量优势。
当前中国企业开放的源代码比较少,主要是因为企业大多使用别人的开源代码,原创代码比较少,这会导致无 “源” 可开。孟宁认为华为近年来,在软件工程领域投入颇多,相信代码质量已经得到较大提高。
与此同时,鸿蒙 OS 开源也是自信的象征,不过商业公司不会仅为显示自信而开源。孟宁认为华为开源主要有以下几方面考虑:
1、对华为自身来说,开源可以给外国政府、国际客户、以及生态链合作伙伴吃个定心丸,消除国家安全上的顾虑,树立开放合作的良好国际形象;
2、开源有利于借助社区力量来改善代码质量,有利于开发者获得社区的技术支持,从而吸引更多开发者加入其生态系统;
3、对终端用户而言,开源可减轻海外终端用户对隐私和安全上的心理障碍。
本次发布会上,华为表示到 2021 年 10 月,鸿蒙 OS 将面向 4GB 以上所有设备开源,这很可能意味着鸿蒙 OS 在进入手机和电脑之后,会成为真正意义上的全场景分布式操作系统。
图 | 鸿蒙 OS 开源路标(来源:华为 HDC)
鸿蒙 OS 的“房地基”:微内核架构
如果把鸿蒙 OS 比作一栋大楼,那么 Harmony OS 应用框架、13000+APIs、HUAWEI DevEco、方舟编译器和分布式应用这五大能力,就是房子的五大功能。
而内核则是房子的“地基”,本次发布会上,华为也表示鸿蒙 OS 基于微内核架构,其代码量只有 Linux 宏内核的千分之一,受攻击几率借此大幅降低,终端设备也变得更加可信安全。
那么,到底什么是微内核?微内核可以给用户带来哪些好处?孟宁做了以下分析。
说起微内核,先得区分宏内核和微内核。从代码量上,宏内核和微内核一个多一个少,实际上更主要的是管理职责上的多和少。
成功的单机操作系统都是基于宏内核比如 Linux 内核,单机操作系统的硬件管理、以及系统调用接口之间的几乎所有管理工作,都放在内核中集中统一处理。
而谷歌的下一代操作系统和华为鸿蒙 OS 都选择了微内核,背后一定有其原因。下一代操作系统主要面向万物互联的 5G 智能物联网环境,这种环境的特点是,终端类型不仅多种多样,还需要互相协同工作。
而微内核的好处在于,既方便适应硬件资源差异较大的诸多终端设备,又方便将很多管理职责转移到分布式系统层面。孟宁认为,这是谷歌和华为在下一代操作系统中,不约而同选择微内核的原因。
对于微内核可以带来的用户体验,孟宁表示,微内核便于多种终端底层在操作系统层面实现统一,其可以为多端融合提供更流畅的用户体验,显然这种好处对用户来说是间接的,用户往往感受不到产品背后是微内核还是宏内核。
直接的好处就是省钱,因为同等条件下,微内核消耗的硬件资源更少,一旦降低硬件成本,用户就能买到性价比更高的产品。
鸿蒙 OS 会刺激国内外巨头跟进
多年从事 Linux 内核分析课程教学的孟宁认为,电脑操作系统和手机操作系统都是单机操作系统,物联网操作系统一般是在单机的嵌入式操作系统基础上,再做一些分布式管理工作。只是在鸿蒙 OS 发布之前,业内没有面向物联网的分布式操作系统。
故此,他认为鸿蒙 OS 的发布,一定会刺激国内外巨头以某种方式跟进。而且在中美技术脱钩的背景下,中国基础软件系统软件亟待提高,鸿蒙 OS 的发布就像是吹起冲锋的号角。因为鸿蒙 OS 这样的终端分布式操作系统,比电脑和手机的单机操作系统要复杂起码一个数量级。
在技术栈上,鸿蒙 OS 增加了一层分布式操作系统管理,在芯片、系统和编程接口上,则融入了 AI 技术。因此鸿蒙 OS 必然会带动以操作系统为代表的基础软件系统软件领域的大发展。
对此孟宁总结称:“我想终端分布式操作系统不会只有鸿蒙 OS 这一个技术栈,很可能会像移动互联网时代一样 Android 和 iOS 两强争霸,因此让我们拭目以待鸿蒙 OS 的竞争对手的出现。”
由于美国禁令,三天后的 9 月 15 日,三星和 SK 海力士将停止向华为供应芯片,迫在眉睫的“断供日”,或将给其带来更大压力。9 月 10 日,华为消费者业务 CEO 余承东表示:“没有人能够熄灭满天星光,每一位开发者,都是华为要汇聚的星星之火。”这句话,或可以代表华为迎接困难的态度。