鸿蒙与安卓、Funchsia的对比

z
zhangyx4
楼主 (未名空间)

第一,应用场景

应用场景来说 Harmony OS的适用范围大于Android OS,不仅可以用在手机、电脑上,
还能用在智能手表、手环、智能大屏幕、智能音箱、路由器等智能设备上面,未来也将会应用于耳机、VR眼镜空调,厨电等上面;而Android OS只能用在智能手机上面,谷歌多次尝试向下延伸,均以失败告终;那谷歌最新的Fuchsia OS呢?也并非只面向智能手机和平板电脑,而是打通智能家居、移动终端设备等各类嵌入式带网络的设备,要是说理念的话,和华为的鸿蒙系统不相上下。

第二,应用特征

Harmony OS与Android,Fuchsia OS相互比较,有如下特征:

分布式架构首次用于终端OS,实现跨终端无缝协同。Harmony OS有确定性延时引擎以及高性能的内部处理通信系统使其运行流畅,性能高,数据显示比Android OS快40%~60%
。Harmony OS因为其使用微内核技术,其比Android OS 有更高的安全层级,Harmony
OS微内核的代码量只有Linux传统宏内核的千分之一左右,其受攻击的概率也大大的降
低。统一的系统IDE支撑,让开发人员只需要一次开发,便可以实现将其应用部署到不
同类型的设备上。

Harmony OS使用的华为方舟编译器是首个取代Android虚拟机模式的静态编译器,可供
开发者在开发环境中一次性将高级语言编译为机器码。此外,方舟编译器未来将支持多语言统一编译,可大幅提高开发效率。方舟编译器诞生的伟大意义不亚于当年C语言相
对于A语言B语言。既降低了开发难度,又提高了机器底层的运行效率。

在这里单独提一下方舟编译器,华为的鸿蒙操作系统兼容所有的安卓应用,经过“方舟编译器”编译之后的安卓应用,流畅度提升了60%。方舟编译器并不只是针对安卓系统
,鸿蒙操作系统同样采用了方舟编译器,改变了安卓系统应用执行的方式,传统的安卓应用需要借助“虚拟机”,将源代码编译成java虚拟机认识的字节码,java虚拟机将字节码转换为机器认识的二进制指令。方舟编译器直接将应用的源代码打包成可以在机器上运行的二进制代码,不需要“中间层”,并且优化了内存回收机制,很大程度上提升了应用的流畅度。

Android OS是开源的,有强大的软件开发者的支持,软件兼容性好。而谷歌最新开发的Fuchsia OS系统与当下Android相比,无论是存储器还是内存等之类的硬件性能要求都
大幅降低,可以看出这是一款面向物联网的系统。

第三,内核机制

Harmony OS是基于微内核开发,Android OS沿用了Linux宏内核进行调度,Fuchsia OS
基于微内核Zircon (前期名字叫Magenta)的新内核,采用Flutter引擎+Dart语言编写。Harmony OS面向全场景,能够同时满足全场景流畅体验、架构级可信安全、跨终端无缝协同以及一次开发多终端部署的要求,Android OS沿用Linux宏内核调度机制,是面
向服务器负载的公平调度模式,难以保障用户体验。可以说在内核机制上Android OS已经明显落后于另外两者。而Fuchsia和Harmony OS比较可谓不相仲伯,因为Fuchsia是谷歌专门打造的一款新型物联网+智能终端操作系统,为了这个项目专门从苹果公司挖来
了老将,聘请了有着14年经验的资深工程师Bill Stevenson来操盘Fuchsia。所以
Fuchsia将来将会是Harmony OS最强劲的竞争对手。

第四,内部核心的区别。

HarmonyOS和Fuchsia OS 采用的是自家专门研发的微内核,而Android采用的是Linux宏内核.

微内核相当于一个信息交换中心,自身可以实现的功能非常少,它的主要职责是传递一个请求,一个模块对其他模块功能的请求。而宏内核相当于一个是一个中央集权控制中心,把内存管理,文件管理等功能全部管理。

那两种内核有什么样的优缺点呢?理论上来看,微内核的设计思想更好一些,它将系统分为各个小的功能模块,把设计难度大大降低。因此,系统的维护与修改也方便进行。但是微内核的通信失效率很高,是一个大问题。宏内核的功能模块之间的耦合度非常高,修改与维护的代价很高。但是在目前的linux操作系统里不会因为此造成很大问题(
因为目前的linux不是很复杂)。宏内核是直接调用的,所以效率比较高。有资料显示
早期的微内核效率损失达40%。

但微内核具有两个明显的优势:第一,微内核本身较小,小内核对设备的启动速度具有强大的优势,不像大的内核启动较慢,微内核需要什么应用就加载什么应用,启动什么应用,可以相对应的按需要的方式加载应用,加快应用的启动速度。第二。微内核更加安全。应用程序在一个隔离的地址空间里运行,当某个系统服务出现了问题的时候,就把这个服务进程杀掉就可以了,还可以热重启服务,另外还可以做热升级服务。比如说系统服务有些小问题,用指令把系统服务停掉,升级服务然后重启该服务就可以了,不需要重启整个系统,所以这种模式是个很好的模式,至少对于用户体验来说是很好的。对于大型物联网设备和网络,这种方式也是比较好的,可以做到需要什么就启动什么。

第五,文件系统。

鸿蒙系统的“EROFS文件系统”

传统的安卓系统采用了ext4文件系统,华为的“鸿蒙”操作系统很可能采用erofs文件
系统,优化了文件压缩机制,采用了固定4K的存储格式。同样的P30手机,使用erofs文件系统后,文件的随机读取速度提升了20%,存储空间节省了2GB,直观的反应就是,安装app更快了,启动app的速度更快了,手机运行更加流畅。Fuchsia使用的文件系统
hub比较神秘,目前没有相关的测评数据,但肯定是比安卓的要强一些,至于强多少,
和鸿蒙相比又如何,那只有等公布才知道,但我想应该相差不大。