一、一周两套操作系统发布
6月2日,华为通过直播形式举行了鸿蒙HarmonyOS 2及华为全场景新品发布会,关于该发布会的详细内容老猿在《鸿蒙最新功能及承载设备详解:HarmonyOS 2及华为全场景新品发布会全纪录》进行了详细介绍,在此不多赘述。
其实在华为发布会前,业内有个爆炸性的消息是:5 月25 日,Google发布了研发5年之久的新操作系统Fuchsia OS1.0,并已经推送到2018 年发布的初代Nest Hub 智能显示器上。
相比华为的发布会,Fuchsia OS1.0的发布仅是一个消息报道以及其项目技术负责人 Petr Hosek 的一条推特,要低调很多。
两个操作系统,相隔一周左右先后发布,不但时间相隔近,都是抛弃Android另立门户,都带有物联网的基因,都有自己的产品承载,很难让人不将二者进行并列比较。接下来老猿就这两个操作系统的架构、内核、产品特性、物联网支持、产品化程度以及生态支持等方面进行一下对比分析。
二、架构对比
华为鸿蒙的架构
鸿蒙HarmonyOS整体遵从分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。
HarmonyOS的架构比较清晰,不展开过多介绍。
Fuchsia OS的架构:
Fuchsia OS的架构的四层蛋糕形象介绍的比较多,但四层的功能说明资料却很少且大多雷同,老猿结合相关资料猜测理解四层的分工如上右边所示,最上层的Topaz应用层和最下层Zircon内核层不用多介绍。 Garnet 包含各种操作系统所需的各种底层功能,包括硬件的驱动程序(网络,图形等)和软件安装功能,所以老猿称为基础软件层。Peridot google为服务和应用层,老猿猜测可能类似于Android 的google gms服务,为谷歌公司系列应用提供支持。如果还有需要进一步了解相关层功能的,请参考下面附录的参考资料。
这两种方式的架构,Fuchsia OS的架构各层的功能可能还存在一定的不确定性,但从架构上来说,华为已经明确HarmonyOS是分布式系统架构,但Fuchsia OS笔者尚不能确认,不过猜想fuchisa设备之间可能是一种类似集中式的云式结构,各个设备是云主机的客户端,相互之间可以通信,但是要基于google统一的账号注册。
三、内核子系统对比
HarmonyOS 采用多内核设计,支持针对不同资源受限设备选用适合的 OS 内核。内核抽象层(KAL,KernelAbstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,目前支持 Linux 内核和 LiteOS 内核。
Fuchsia OS 的内核是一个由 Google 全新设计的新内核,主要处理硬件访问和软件之间的通信,可以认为是一个专用内核。Fuchsia OS 的核心独立于硬件规格,使用模块化方法,将其分割成多个构建块或“包”,制造商能够根据设备选择 Fuchsia 的功能,且可能仅通过安装更新的组件就可以添加新功能。这种方式可以有效降低模块之间的相互影响,可维护性和迭代开发快。
二者的内核各有优缺点:
- HarmonyOS 的内核优点是支持灵活扩展,可以适配不同资源受限设备,一个操作系统统一设备上层操作,应该是与分布式架构配套的支持不同设备的很好的解决方案。老猿唯一有点担心的是否存在安卓与 Linux 的 GPL 许可之间的冲突,但这点相信华为是经过仔细论证的,最不济也就是安卓的状况。何况万一不行,Linux 内核以后也许是可以替换而不用影响上层的系统和应用的
- Fuchsia OS 的内核是全新设计的新内核,有嵌入式 OS 领域的顶尖专家加盟,可能是个轻量级的内核,加上模块化的设计,这样才能适配不同资源受限设备,其优点是谷歌自己完全掌控,但是否真正完全适合不同情况的设备还有待观察。
四、产品特性对比
Fuchsia OS 目前的产品特性方面公布的数据不多,HarmonyOS 则宣传得比较多,这应该是因为 Fuchsia OS 成熟度方面还不够导致的。
目前二者都可以通过安卓虚拟机来运行安卓程序,鸿蒙脱离安卓后,可以把应用编译成字节码提升速度,会通过存储管理避免存储碎片化,提升系统效率,这些 Fuchsia OS 不知是否会有相关特性。
另外一方面,鸿蒙的分布式特性构造的超级终端,可以将多个局域网内设备组织成一体来使用,如可以使用手表接入视频呼叫后,在大屏电视上显示视频,在手表上听声音,在麦克风上发送语音,也可以将相关内容在不同设备间流畅的流转。这些特性还是有比较大的创新性,也容易吸引使用者。而 Fuchsia OS 目前来看,并不具备这些特性。但 Fuchsia OS 肯定有其自身的杀手锏,只是由于公开资料少,尚不知而已。
另外 HarmonyOS 支持对接不同的操作系统内核,只要其满足 HarmonyOS 对其访问的要求,这在物联网操作系统群雄逐鹿的环境下,比 Fuchsia OS 具有较大的优势。
目前来看,HarmonyOS 在产品特性上暂时占有优势。
五、物联网支持对比
在物联网支持方面,HarmonyOS 通过底层的 LiteOS 对接硬件设备,然后通过上层的分布式架构(软总线)、安全组件、原子服务快速将局域网内的设备组成超级终端,相互之间的通信主要使用局域网新的无线协议和通讯方式进行,并使用运行在任何鸿蒙带屏设备上的操作中心进行统一操控。
Fuchsia OS 通过 TCP/IP 协议使用 Peridot 提供的 google 服务进行设备联网,在局域网内构建子网,应该也会提供统一操控应用。
HarmonyOS 通过设备编号进行安全认证之后设备之间组建成局域网,各个局域网是碎片化的,扩展性、操控性都非常不错,同时又保证了安全性、私密性和隐私性,但华为在此很难找到商业利益
Fuchsia OS 设备通过 TCP/IP 访问统一的 google 服务,设备的认证预计是基于谷歌账号进行的,这样能保障谷歌的商业利益和统一控制,但对用户而言存在隐私数据外泄问题,同时如果谷歌服务出现问题,可能会影响设备的使用
六、产品化程度对比
两者都已经有发行版本,HarmonyOS 已经搭载在自己的手表、平板、显示器、蓝牙耳机新品上,并在 6 月 2 日开始进行 Mate40、P40 系列、mate30 系列以及 MatePadPro 的版本搭载,后续将有更多系列的华为已有设备将搭载 HarmonyOS。
Fuchsia OS1.0 目前推送到 2018 年发布的初代 Nest Hub 智能显示器上,可能在 2 年之内继续在一些家用设备上发布该操作系统。
从产品化程度来看,HarmonyOS 已经占了一定的先机,无论是品类还是数量都比 Fuchsia OS 多,这个方面希望华为能持续扩展优势,但也不能就此小觑了 Fuchsia OS,谷歌的整体环境比华为好很多,厚积薄发也是有可能的。
七、生态支持对比
生态分为两类,一是使用操作系统的合作厂商生态,另一是开发者生态。
无论是主动还是被动,Fuchsia OS 和 HarmonyOS 都是抛开安卓另立门户,这就意味着都得抛开现在已经做得很好的 Android 生态另起炉灶,从某种意义上来说二者的生态基础是相同的,但实际上二者在此还是有些差异。
华为一方面将 HarmonyOS 将源代码捐赠给开放原子开源基金会进行孵化,另一方面积极构建应用创新伙伴圈,这个是鸿蒙上运行的京东:
目前已经和华为在鸿蒙上合作的相关伙伴:
同时华为与高校合作联合培养鸿蒙开发人才,启动 HarmonyOS 高校人才培育计划,将推动超过 15 款 HarmonyOS 课程走入高校,以培养更多 HarmonyOS 全栈开发后备力量。
而谷歌采用的对策是在 2018 年 12 月,发布可被用来开发安卓、iOS 和 Fuchsia OS APP 的 SDK Flutter 正式版,通过提前发布跨平台的应用开发框架为后续 Fuchsia OS 的开发布局,这个确实是一个有战略眼光的布局。但在当前 Android 生态磅礴发展的形式下,让开发者将绝大部分应用往 flutter 迁移是个不可能完成的任务。
接下来,谷歌有 2 条路可以走,一是同时维护 Android 的版本和 Fuchsia OS 版本,如果是这样,Fuchsia 的生态做起来会很困难,甚至比华为更困难,二是停止 Android 版本的后续开发,专心往 Fuchsia OS 方向发展,这样对谷歌和华为甚至其他第三方都意味着机会,可能华为因抢占先机而拔得头筹,不过 google 估计不会这样傻的自毁长城,一定会在其认为成熟的时机才会走这步。
对于现在的生态情况来说,目前华为稍微走在前面一点,但对华为和谷歌来说,都是举步维艰。开发人才的培养相对整个生态来说可能还不是最主要的,合作的设备商的培养是最艰难的。
对于华为来说,整个生态的建设可能更艰难一些,国内其他手机头部厂商光讲爱国情怀是不够的,更要考虑商业利益,他们会考虑搭载鸿蒙会否导致自己利益损失、是否会导致自己落后于华为、是否会导致 Android 生态优势的丧失?华为从物联网和自己的手机产品开始是不得不为之的措施,也是唯一可行的措施,如果真正将鸿蒙生态构建得比较有规模,如手机市场占有率突破 16%以上,国内的芯片也取得了关键性的技术突破,则就是真正破局之时。
八、总结
HarmonyOS 和 FuchsiaOS 在当前安卓生态环境下,目前在手机领域只有通过安卓虚拟机兼容安卓应用来完成自己的艰难启程,在安卓继续使用的情况下,二者都还需要走过较长的艰难时光,在物联网领域则机会更多一些,整个社会对物联网的重视能给二者带来突破重围的有力支持,同时正是由于二者都布局物联网领域,也说明物联网操作系统非常大概率是个正确方向。
总体来说,HarmonyOS 整体稍走在前面,但 FuchsiaOS 也可能厚积薄发。鹿死谁手、还是共同竞争成长抑或都被淘汰?目前尚不足以判断,估计只有时光才能给出最终的答案。
后记:
本文是笔者基于网上部分资料、华为 6 月 2 日发布会等材料基础之上,加上自己的总结分析及感悟编写而成,由于材料有限,难免存在谬误,欢迎大家指正
参考资料:
《Fuchsia OS正式公开可用,谷歌迈出了五年来最关键的一步》
《简述 Fuchsia 操作系统的四层结构设计》
《fuchsia的源码树初探》
《华为鸿蒙系统HarmonyOS学习之二:鸿蒙HarmonyOS系统架构》
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
关于老猿的付费专栏
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。
前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。
对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。
如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。
如对文章内容存在疑问,可在博客评论区留言,或关注:老猿Python 微信公号发消息咨询。