华为鸿蒙发布后在网上引起激烈讨论,特别是许多吃瓜群众,什么都不懂就敢大言不惭的批这批那,毕竟是这么专业的事情,源码都放出来了,又有方舟编译器加持,肯定不是简单的换肤(UI)这么简单,相反,人家UI(肤)多年前便开始布局,为了让人感觉不出内核的变化,减少平台迁徙难度,反而UI没什么变化,于是嘴是两张皮,逮到UI没变、可以运行APP…就开始吼还是安卓、还是Linux…。

当然,这也不能完全怪吃瓜群众,毕竟好多大V科技号都在胡诌,误导群众,另一方面国人也经历了太多造假事情,比如芯片logo一换就号称国产芯片、LCD背光换成主动发光就敢宣称新一代OLED、换个UI就号称自家操作系统…屡见不鲜,再加上华为有粉就必然有黑,有人就有江湖,所以综合下来吃瓜群众乱猜乱怀疑也就正常了。

我也是个半吊子,也不是什么粉、也没看过源码,但多少略懂点底层编程,今天也就来说说这个事儿。

、驱动、内核、应用

电脑底层是一堆硬件,数字电路就是用一系列的高低电平变化来驱动显示、打印…以及采集键盘、触屏输入…,当然也包括计算,这些高低电平为了管理于是抽象成二进制数,于是成了数字与数学问题,然后就可以分析并通过程序来控制。

底层处理数据量超大超复杂,于是就要像数学方便计算的函数一样将这些控制与处理也做成程序函数,于是就是驱动函数,这些驱动函数的名字就是驱动接口。

但驱动函数仍然很多,就像数学公式这么多,要系统的学习和应用肯定得有自己的组织、记忆方式,于是就有了内核,内核就是起承上起下的作业,也是一个操作系统的核心,在应用程序和底层驱动间架起桥梁,内核提供统一的程序访问底层驱动的接口(如Windows的API)和管理机制(如Windows的消息机制)。

再往上走就是应用程序和UI界面,我们使用者是看不到API接口的,只能看到鼠标键盘显示器…,你看到的东西都已经是应用程序处理过的了。

当然这个划分只是大概,并不完全。

二、Windows、Linux、Unix内核及其衍生

抛开dos这个古老系统,unix系统可谓是现代操系统之父,刚开始Unix没意识到自己的重要性,将内核源码开放的,但是后来意识到重要性后便开始收费了,于是Unix便只能是大公司才会用,大学老师为了教学于是仿早期unix写了minx,然后一个学生又仿minix写了Linux,然后Linux开源,允许大家修改,所以Linux便发展壮大了,所以Linux与Unix代码上没什么关系,但又是借鉴和兼容的。

Windows早期(包括win98)是基于DOS的,其实很low的,后来找高人也是参考了Unix写NT内核才是真正的现代操作系统,win2000前后的Windows完全是鸟枪换炮。

苹果的ios是基于Unix的变种,而且也是闭源的,所以Windows、Linux都是仿Unix而苹果才算是根红苗正,但奈何不开源所以脱离了大众,没有群众基础。

googe的安卓是基于Linux的,而且也是开源的,苹果内部怎么处理的不知道,但谷歌是在Linux基础上加了一个虚拟机而构成的安卓。

个人对鸿蒙系统的看法

也就是说真正的内核也就是WindowsNT、Linux、Unix三家,脱离之后想重新建立生态系统是很难的。

三、华为的鸿蒙与三家内核的关系

Google的安卓虚拟机是基于Linux,Linux是开源的,那安卓也得开源,但是基于安卓虚拟机之上的服务包GMS则可以闭源的,这点还好,国内手机对GMS依赖不高,比如国外用Google地图就必须依赖GMS,但国内用高德、百度就可以不依赖GMS,像华为早就推出了HMS服务包。

至于UI这个皮肤就更是如此了,小米有小米的UI、华为有华为的UI。

现在华为推出的鸿蒙系统沿用的肯定华为的UI和HMS,鸿蒙系统肯定向更深层的内核进军了,问题的关键是鸿蒙到向底层进军到什么程度。

前面讲了,为何三家内核独大,主要是生态,所以兼容现有生态是务实的选择,谷歌开始(现在)也是以Linux为基础的,现在谷歌做大了,其虚拟机上的应用已经没什么Linux痕迹了,鉴于手机中安卓的地位,华为开始肯定也要兼容安卓,兼容事半功倍,不兼容事倍功半。

先看怎么兼容安卓APP?我猜一种办法是重新写一个支持新系统的安卓虚拟机、一种办法是自己搞个编译器(方舟)让原来的代码重新编译一下就可以运行在新系统上。

前者让用户感觉不出来内核到底是什么,Linux(现安卓便是)、鸿蒙、其他都有可能。

后者则需要开发者重新用编译器编译生成新的应用程序,只不过开发者不用重新码代码可能开发者也乐意。

从种种迹象来看,华为是两手都在搞,所以也可以认为华为志在必得,特别是编译器这一手,一般公司真的玩不起。

但前期华为多半会是用新的虚拟机这个方案,这个才是用户接不接受的主要因素,编译器主要是针对开发者接不接受的主要因素,两个都接受了,鸿蒙就可以大刀阔斧的干了。

个人对鸿蒙系统的看法

从官方资料看,华为现在的鸿蒙系统是多内核,内核包括了Linux和鸿蒙,即然可以直接无缝安装安卓APP那多半还是有一个虚拟机的,只是不知道虚拟机到底是运行在Linux上还是鸿蒙内核上还是有什么特殊处理,这个本人能力有限就理解不了了,须要看代码才行,但猜测很可能早期还是在Linux基础上开发的虚拟机可能比较大,这样稳妥。

这个期间可能确实不算真正意义上的鸿蒙系统,但已经有了鸿蒙技术、框架、雏形了,已经比换肤和HMS更向内核进了一步了,这可能也是争论较多的原因。

然后过段时间,当大众和众多手机厂家习惯了新操作系统后,不知不觉中便可以踢出Linux而让虚拟机运行到鸿蒙上,这个是很有可能的事情,只要大众和手机厂家们支持应该不会太远,这个时候鸿蒙系统将毫无争议。

最后就是当方舟编译器被众多开发者接受,这个时代甚至可以去掉中间的虚拟机了,鸿蒙将形成可与Unix/ios、Linux/安卓抗衡的新系统,如果野心足够大甚至可以抗衡Windows。

所以,请大众多给鸿蒙一点时间和口德,也请众多手机厂家互相扶持一把,也请开发者们多试试方舟编译器,别整天骂骂咧咧说没有国产操作系统,而正当国产系统开始萌芽而有千搬的挑剔,挑剔如果是为了促进鸿蒙的进步到也无可厚非,但挑剔如果是建立在无知谩骂、别有用心就过分了。