最近看互联网上的一些鸿蒙OS相关的新闻,特别是那些对鸿蒙操作系统开骂的评论,发现大部分人对操作系统根本一无所知,就开始唾沫横飞,开骂鸿蒙怎么都是安卓的身影。哎,这个世界真是无知者无畏! 这里我觉得主要还是一些媒体带坏了,自己不清楚是怎么回事就开始胡诌,然后不明觉厉的人又想蹭流量,对增益创业、迭代开发这些理念又没有很好的认识,所以就人云亦云的以讹传讹,还义正辞严的说应该这样做,不应该那样做的。可见这些人对操作系统缺乏基本的认知,也不知鸿蒙跟安卓是什么关系,从而也就不知道为什么华为会有这番操作了。 鸿蒙和安卓的关系,我这里力求一次过帮大家搞清楚他们之间是怎么回事。我虽然没有去研究过鸿蒙的代码,但是操作系统的概念是相通的,这里根据我曾经看到过的鸿蒙相关信息并结合我自己有限的操作系统领域知识,相信能说清楚,不会让大家失望的,大家只需要有点耐心就行。 首先,我们要明白操作系统大概有哪些玩意儿,然后才好说他们具体的关系和区别。现代的操作系统,无论你是Linux还是windows还是什么其他的,应该都要包含以下这些方面

  • 内核层:最核心的模块,比如CPU调度模块,内存管理模块,IPC通讯模块。而如果你是宏内核或者混合内核的话,里面可能还会塞进其他一些东西,比如设备驱动模块、文件系统模块等

  • 应用层:就是跑在我们应用空间的各种应用以及对这些应用提供支持的一些中间件及库之类的,比如你windows常用的一些内置工具如命令行啊文件浏览器啊,linux上的bash,ftp服务啊之类的。有些操作系统为了架构清晰,会特意分出多一个中间层或者框架层之类的出来放在内核层和应用层之间,比如什么公共库啊什么图形子系统之类的,事实上够可以归类到应用层。

这就是一个操作系统大概的组成,一般来说,如果是基于Linux内核的操作系统,内核基本上都不会动,但是应用层会有所不同,每个商家或者组织会根据不同需求在上面添加不同的内置应用和服务等,然后打包成一个完整的操作系统,这就是我们看到的不同的Linux的发行版,如Ubuntu,Centos,Redhat等。

有了这些基础之后,事情就好办多了。这里,我们先看下安卓和AOSP的关系,和上面通用的操作系统一样,安卓包含这几个东西:

  • Linux内核:安卓的内核是基于Linux的,虽然谷歌对安卓的Linux是经过修改的,但是我们还是可以把它看成是Linux内核。

  • 安卓应用层:谷歌除了把一些常用的服务和应用开源并允许免费试用之外,它还提供额外的一套叫做GMS(Google Mobile Service)的东西,也就是我们常说的Google Play这些,但是这一套却不是免费的。

这里的一整套操作系统叫做安卓。如果这里去掉GMS,就是AOSP!这也是各大国内手机厂商发布的自己的操作系统的基石,虽然都可以统称为安卓(因为是基于AOSP,而AOSP全称就是Android Open Source Project),但是此安卓非彼安卓。谷歌所谓禁止华为使用的其实就是GMS,而不是AOSP,因为AOSP是完全开源的。

到了这里,应该解析清楚了安卓和AOSP之间的关系了。那么下一个我们要讲清楚的就是鸿蒙和安卓的关系,事实上应该是鸿蒙和AOSP的关系。

有了上面的基础,解析这个问题就很简单了。其实老早之前华为就说过鸿蒙在内核层,除了打包进自己研发的微内核,为了过度,也会打包进Linux内核(应该就是AOSP中对应的内核),也就是说当前的鸿蒙其实还不是pure的纯正的最终形态的鸿蒙,而还是多方面的一个合体。

原因是现在已经出去的机子都是基于安卓的,你不可能一下子把老用户都给掐掉,说让你全部一下子切换到纯微内核的鸿蒙操作系统上来,况且鸿蒙毕竟是个新生事物,需要一段时间的打磨。如果哪一天等鸿蒙操作系统稳定了,生态也建立得差不多了,就可以把AOSP从鸿蒙中剥离出来,这时,一个纯正的鸿蒙国产操作系统就诞生了!!!

知道这个来龙去脉之后,大家应该对鸿蒙的操作有更深的理解了吧。你想一个操作系统的成功,哪是这么简单的事情,就算让你把代码实现出来了,没有人用,形成不了完整的生态,也是然并卵。还记得彼得蒂尔《从0到1》中说破坏性创新时说的吧,你一个后进入市场的,本来就已经失去了先发优势,这时如果你的产品功能或者性能上没有带来10倍的提升,基本就没戏了。所以这里如果我们硬生生的想用一个纯鸿蒙立刻去和安卓及iOS打,结果脚指头都能想到。华为也不傻,所以就走出现在这条曲线救国的道路来了。

我相信能看到这里的基本都已经清楚鸿蒙和安卓到底是什么关系,也清楚为什么鸿蒙需要先支持上安卓了应用了吧。