华为被美国打压的事件无论对于企业家,科研工作者,或是普通小市民都有着深远的影响,而且这种影响是从现在开始,到以后的几十年甚至更长的时期。
本来任老是个大度之人,只要美国肯卖,我们就买,必须承认,美国比我们先进的,我们要虚心学习。但是,现在人家不让你买了,硬件不让你生产了,系统不让你用了。我们才如梦方醒,天,这种事情都会发生,什么状况?好在任老前天的前天的大前天晚上就醒了,已经为现在的状况一直在做准备了。中国有句话叫:防患于未然,这不未然不是来了吗?
一句话,咱就是干!从来不虚老美。
话虽这么说,但我们自己有几斤几两,还是要掂量掂量。下面我们就家丑不怕外扬,反正只能靠自己了,是骡子是马拉出来让大家瞧一瞧。
硬件那一块,我们改天再说,今天说软的。
HarmonyOS是华为正在持续开发的万物互联系统,当然也包括智能手机端,此系统简称鸿蒙。
AndroidOS是谷歌公司为了和苹果IOS对标开发的智能手机系统,目前大部分国产手机均在使用,甚至世界上的非苹果系只能手机都在使用,简称安卓。
FuchsiaOS是谷歌公司认为AndroidOS已经无药可救,现在正在开发研究的一款最新的智能端系统,也有物联网功能,是鸿蒙的未来直接竞争对手。
下面我们分几个方面进行阐述,为了方便这3个系统均使用英文名称
第一,应用场景
应用场景来说HarmonyOS的适用范围大于AndroidOS,不仅可以用在手机、电脑上,还能用在智能手表、手环、智能大屏幕、智能音箱、路由器等智能设备上面,未来也将会应用于耳机、VR眼镜空调,厨电等上面;而AndroidOS只能用在智能手机上面,谷歌多次尝试向下延伸,均以失败告终;那谷歌最新的FuchsiaOS呢?也并非只面向智能手机和平板电脑,而是打通智能家居、移动终端设备等各类嵌入式带网络的设备,要是说理念的话,和华为的鸿蒙系统不相上下。
第二,应用特征
HarmonyOS与Android,FuchsiaOS相互比较,有如下特征:
分布式架构首次用于终端OS,实现跨终端无缝协同。HarmonyOS有确定性延时引擎以及高性能的内部处理通信系统使其运行流畅,性能高,数据显示比AndroidOS快40%~60%。HarmonyOS因为其使用微内核技术,其比AndroidOS有更高的安全层级,HarmonyOS微内核的代码量只有Linux传统宏内核的千分之一左右,其受攻击的概率也大大的降低。统一的系统IDE支撑,让开发人员只需要一次开发,便可以实现将其应用部署到不同类型的设备上。
HarmonyOS使用的华为方舟编译器是首个取代Android虚拟机模式的静态编译器,可供开发者在开发环境中一次性将高级语言编译为机器码。此外,方舟编译器未来将支持多语言统一编译,可大幅提高开发效率。方舟编译器诞生的伟大意义不亚于当年C语言相对于A语言B语言。既降低了开发难度,又提高了机器底层的运行效率。
在这里单独提一下方舟编译器,华为的鸿蒙操作系统兼容所有的安卓应用,经过“方舟编译器”编译之后的安卓应用,流畅度提升了60%。方舟编译器并不只是针对安卓系统,鸿蒙操作系统同样采用了方舟编译器,改变了安卓系统应用执行的方式,传统的安卓应用需要借助“虚拟机”,将源代码编译成java虚拟机认识的字节码,java虚拟机将字节码转换为机器认识的二进制指令。方舟编译器直接将应用的源代码打包成可以在机器上运行的二进制代码,不需要“中间层”,并且优化了内存回收机制,很大程度上提升了应用的流畅度。
AndroidOS是开源的,有强大的软件开发者的支持,软件兼容性好。而谷歌最新开发的FuchsiaOS系统与当下Android相比,无论是存储器还是内存等之类的硬件性能要求都大幅降低,可以看出这是一款面向物联网的系统。
第三,内核机制
HarmonyOS是基于微内核开发,AndroidOS沿用了Linux宏内核进行调度,FuchsiaOS基于微内核Zircon(前期名字叫Magenta)的新内核,采用Flutter引擎+Dart语言编写。HarmonyOS面向全场景,能够同时满足全场景流畅体验、架构级可信安全、跨终端无缝协同以及一次开发多终端部署的要求。
AndroidOS沿用Linux宏内核调度机制,是面向服务器负载的公平调度模式,难以保障用户体验。可以说在内核机制上AndroidOS已经明显落后于另外两者。而Fuchsia和HarmonyOS比较可谓不相仲伯,因为Fuchsia是谷歌专门打造的一款新型物联网+智能终端操作系统,为了这个项目专门从苹果公司挖来了老将,聘请了有着14年经验的资深工程师BillStevenson来操盘Fuchsia。所以Fuchsia将来将会是HarmonyOS最强劲的竞争对手。
第三,系统架构
FuchsiaOS是四层结构
第一层,也是最底层,是构建FuchsiaOS的基石,Zircon内核,这是一个由Google全新设计的新内核,主要处理硬件访问和软件之间的通信。对于不太了解内核作用的同学简而言之,Zircon之于Fuchsia,就如Linux之余于Android。Linux内核驱动了多个操作系统,很多操作系统构建在它之上,比如Ubuntu、Android、Manjaro、ArchLinux、Debian、RedHat、等。
第二层,也是直接构建在Zircon上的一层叫Garnet。Garnet包含各种操作系统所需的各种底层功能,包括硬件的驱动程序(网络,图形等)和软件安装。这一层包含Escher(图形渲染器),Amber(Fuchsia的更新程序)和XiCore,它是Xi文本和代码编辑器的底层引擎。
第三层,Peridot是第三层,主要处理Fuchsia的模块化应用程序设计,Peridot的另外两个主要组件直接用于模块。Ledger可以跨设备保存您在应用/模块中的位置,并同步到您的Google帐户。Maxwell是一个更复杂的主题,需要更多进一步的深入研究,但是Maxwell极有可能是让Fuchsia充分施展魔力的点睛之笔,可以提前透露的是,Maxwell的厉害之处包括Kronk,也是大家熟知的GoogleAssistant。
第四层,Topaz,这个是系统的顶层,也是对开发者和用户直接影响最大的一层。Topaz提供Flutter支持,而有了Flutter的支持,各种华丽的应用程序,可以帮助充实地提供日常使用的功能齐全的应用程序。比如,现在最令人印象深刻的当然是ArmadilloUI,它是Fuchsia主要用户界面和主屏幕。
打个比方,Topaz这一层在Android中可以找到一个类比,就如那些必备的应用程序,如联系人,音乐,文件管理器和文本编辑器Xi(Topaz中的可视前端连接到Garnet的后端)。即使没有你需要的东西,你也可以简单方便地安装。
AndroidOS也是四层结构。
1.应用程序层(Applications)诸如SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等应用程序。这些应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换。
2.应用程序框架层(ApplicationFramework)
应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。
3.系统运行库层(Libraries)
系统运行库层可以分成两部分,分别是系统库和Android运行时,分别介绍如下:
A.系统库,系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。
B.Androidruntime,Android应用程序采用Java语言编写,程序在Androidruntime中执行,其运行时分为核心库和Dalvik虚拟机两部分。
4.Linux内核层(LinuxKernel),Android是基于Linux内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。
HarmonyOS也一样是四层结构
HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统子系统功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。
1.内核层HarmonyOS系统内核层分为内核子系统和驱动子系统。内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选择适合的OS内核执行。内核抽象层(KAL,KernelAbstractLayer)通过屏蔽多内核差异,模拟成一个内核,对上层访问提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等功能。驱动子系统:HarmonyOS驱动框架(HDF)是HarmonyOS硬件生态开放的中间转承基础,提供统一外设访问能力和驱动开发、管理框架等功能。
2.系统服务层
系统服务层是HarmonyOS的核心能力的集合层,通过框架层对应用程序提供服务。该层包含多个部分,分别是:系统基本能力子系统集:为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中,方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库,也为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时。
基础软件服务子系统集:为HarmonyOS提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX、MSDPDV等子系统组成。
增强软件服务子系统集:为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。硬件服务子系统集:为HarmonyOS提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。
3.框架层框架层为HarmonyOS的应用程序提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架,以及各种软硬件服务对外开放的多语言框架API;同时为采用HarmonyOS的设备提供了C/C++/JS等多语言的框架API,不同设备支持的API与系统的组件化裁剪程度相关。
4.应用层应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或多个FA(FeatureAbility)或PA(ParticleAbility)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。
第四,内部核心的区别。
HarmonyOS和FuchsiaOS采用的是自家专门研发的微内核,而Android采用的是Linux宏内核.
微内核与宏内核有什么相同点和不同点,下面来分析一下
微内核相当于一个信息交换中心,自身可以实现的功能非常少,它的主要职责是传递一个请求,一个模块对其他模块功能的请求。而宏内核相当于一个是一个中央集权控制中心,把内存管理,文件管理等功能全部管理。
那两种内核有什么样的优缺点呢?理论上来看,微内核的设计思想更好一些,它将系统分为各个小的功能模块,把设计难度大大降低。因此,系统的维护与修改也方便进行。但是微内核的通信失效率很高,是一个大问题。宏内核的功能模块之间的耦合度非常高,修改与维护的代价很高。但是在目前的linux操作系统里不会因为此造成很大问题(因为目前的linux不是很复杂)。宏内核是直接调用的,所以效率比较高。有资料显示早期的微内核效率损失达40%。
但微内核具有两个明显的优势:第一,微内核本身较小,小内核对设备的启动速度具有强大的优势,不像大的内核启动较慢,微内核需要什么应用就加载什么应用,启动什么应用,可以相对应的按需要的方式加载应用,加快应用的启动速度。第二。微内核更加安全。应用程序在一个隔离的地址空间里运行,当某个系统服务出现了问题的时候,就把这个服务进程杀掉就可以了,还可以热重启服务,另外还可以做热升级服务。比如说系统服务有些小问题,用指令把系统服务停掉,升级服务然后重启该服务就可以了,不需要重启整个系统,所以这种模式是个很好的模式,至少对于用户体验来说是很好的。对于大型物联网设备和网络,这种方式也是比较好的,可以做到需要什么就启动什么。
第五,文件系统。
鸿蒙系统的“EROFS文件系统”
传统的安卓系统采用了ext4文件系统,华为的“鸿蒙”操作系统很可能采用erofs文件系统,优化了文件压缩机制,采用了固定4K的存储格式。同样的P30手机,使用erofs文件系统后,文件的随机读取速度提升了20%,存储空间节省了2GB,直观的反应就是,安装app更快了,启动app的速度更快了,手机运行更加流畅。Fuchsia使用的文件系统hub比较神秘,目前没有相关的测评数据,但肯定是比安卓的要强一些,至于强多少,和鸿蒙相比又如何,那只有等公布才知道,但我想应该相差不大。
第五,生态的打造
关于生态的打造,比较抽象,又非常实际,就是用户要使用,开发者要开发.国内来说,华为智能设备的基数已经初具规模,打造用户端生态不成问题,开发者端生态,华为也正在全球进行开发者招募计划。HarmonyOS的用户生态在中国,FuchsiaOS的用户生态在欧洲。但同时两者都是面向未来的万物互联操作系统,目前所知道的比如美的,格力,九阳等家电行业企业都向华为伸出了橄榄枝。什么意思呢?如果这些企业要想搭上万户互联的未来快车,单靠自己的势力研发软件匹配和交互连接,成本太高而且也不现实,如果交托给华为来统一开发,统一接口,统一标准,大家都方便,大家都收益。
万物互联又多重要,多方便。笔者就体验了一把,没到工作场所前通过手机端预先开启空调设备,一进去就暖暖的,离开场所后,忘记关了,回去又堵车,这时只需要拿出手机按一下空调智能家居终端就关闭了。不久的将来,还可以设计空调什么时候开,什么时候关。试想一下,工厂,办公室,家里所有的设备都智能化,远程控制化又多方便呢。华为现在正在干的就是这个事情。如果全部著名的家电行业都支持华为,那物联网生态的打造也不过就是时间问题。
经过以上比较,各位之前还在云里雾里的俊男美女们,相亲父老们对我们的民族品牌又信心了吧。最后放上一张鸿蒙的界面,是不是很惊艳,很想按下去?安卓肯定是没戏了,下一步华为对标的就是苹果的系统了。