鸿蒙系统底层语言是什么?“鸿蒙”和安卓有什么不同?

2020-09-22
分类: 鸿蒙应用开发

自从华为被禁后,多家美国公司纷纷宣布暂停合作的消息。其中,谷歌公司宣布暂停部分功能对华为终端的开放,引发了国内外媒体的广泛关注。随后,有消息称华为将要推出自家鸿蒙

 自从华为被禁后,多家美国公司纷纷宣布暂停合作的消息。其中,谷歌公司宣布暂停部分功能对华为终端的开放,引发了国内外媒体的广泛关注。随后,有消息称华为将要推出自家鸿蒙OS操作系统,该系统将会打通手机、平板、电脑、可智能穿戴和汽车等领域的全部壁垒,或将成为苹果iOS、谷歌Android和微软Windows之外的超级系统。
鸿蒙系统底层语言是什么?“鸿蒙”和安卓有什么不同?(图1)
 
        更有消息指出,华为鸿蒙OS将会于6月24日香港发布。但随后,华为公司出面辟谣,证实该消息为假。虽是如此,但华为鸿蒙OS的推出,基本上是板上钉钉。在行业内人士看来,四月份方舟编译器的推出,便已经奏响了华为自主操作系统的"阵前曲"。
 
        根据华为公布的方舟编译器资料 可以推测鸿蒙系统是用C、C++语言编写
 
        先来看华为公布的方舟编译器原理图
 
        从上面的华为方舟编译器资料可知:
 
        1、鸿蒙系统和方舟编译器的思路应该是一样:直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码;
 
        这样的好处是:不需要中转,执行速度快;劣势是:必须要有大量的静态方案、内存空间要求更高。
 
        2、由于是用C、C++进行编写app,对软件开发人员要求高,提高了建设生态链的技术门槛。
 
        3、由于华为目前有芯片、系统等软件和硬件基础,华为鸿蒙系统若走苹果IOS封闭系统模式,虽然路途漫长但前途可观。
 
        但华为主业是通讯,并非手机,这和苹果主业是手机的特点不同。华为没有办法全身心投入开发封闭式的鸿蒙系统。
 
        华为因为手机并非主业,只能走开源之路。但作为手机制造商的华为,如何让其他手机制造商使用的系统,将是一个巨大的难题。
 
        毕竟没有一个手机制造商去帮助一个依是裁判员又是运动员的手机系统发展,导致自己的市场份额缩减。
 
 可以预见的鸿蒙系统
 
        1、除华为外其他国产手机公司不会安装或重视。由于google禁售的是华为,对于小米等其他国产手机公司不禁售,因此小米等其他国产公司不会安装鸿蒙系统,即便出于公共形象的压力而安装,也不会真正重视,最多就是做个样子。
 
        反正,内斗内行吧——除非华为让渡鸿蒙系统的控制权!
 
        2、鸿蒙系统即便能够兼容安卓应用,在过了新鲜期之后,如何提升用户体验度是关键。如果像阿里OS一样可以远程删除用户的app,就直接死翘翘吧。
 
        保持软件开发商的利益和用户体验度的平衡,是鸿蒙系统能否生存的关键。开发商没有得到利益,不会开发鸿蒙系统的app;用户体验度差,用户就不会用鸿蒙系统。
 
        鸿蒙、安卓、IOS的共同祖先是UNIX,而UNIX是C语言开发的,“鸿蒙”操作系统必然是C语言编写的。“鸿蒙”操作系统提供给应用开发商的开发工具很可能是Java,下文具体说一说。
 
 “鸿蒙”操作系统的组成
 
        华为的“鸿蒙”操作系统由四部分部分组成:Linux内核+麒麟处理器的运行库+编译器+虚拟机。
 
        Linux内核:Linux内核是开源的,由linux内核团队维护,而linux的内核采用了C语言,而不是很多认为的C++,C语言的执行效率要远高于面向对象的编程语言C++。
 
        运行库:运行库在Linux基础上,针对不同的处理器,运行库需要进行适配。比如麒麟处理器指令集和高通处理器的指令集可能存在差异,不是完全相同,那么就存在一个适配的问题,而程序库通常情况下采用C语言编写。
 
        虚拟机:虚拟机用于沟通操作系统和硬件,是两者之间的桥梁,屏蔽了不同系统之间的差异性,可以实现跨平台,同时很大程度上降低了应用开发难度。目前,普遍使用的虚拟机是Java虚拟机。
 
        编译器:编译器将Java编写的代码转换成虚拟机机器码或者硬件可以直接认识的机器码。华为的方舟编译器实现了代码的静态编译,相比传统安卓应用流畅度提升了60%。
 
 “鸿蒙”和安卓的差异
 
        鸿蒙操作系统兼容安卓应用,那么“鸿蒙”操作系统和安卓有什么区别呢?
 
        1)架构不同
 
        鸿蒙操作系统是微内核设计,而安卓系统是基于linux的宏内核设计,相比来说,微内核开发难度大,但是系统稳定性高。
 
        宏内核,内核包含了操作系统绝大多数的功能,而且这些功能和模块具有最高的权限,好处是系统开发难度低,但是各模块具有最高权限,一个模块出错,整个系统崩溃,这也是安卓系统容易崩溃的原因。
 
        微内核,内核仅包括了操作系统必要的功能模块(任务管理、内存分配等),其他模块不具有最高权限,系统稳定性得到了提升。
 
        2)跨平台支持
 
        鸿蒙操作系统同时支持手机、电脑、智能穿戴设备、智能家居,形成一个无缝的、统一的操作系统,并且兼容所有的安卓应用。这个操作系统与谷歌正在研发的Fuchsia思路一致,是为5G和物联网时代准备的,华为的“鸿蒙”操作系统提前发布,可能给华为一个反客为主的机会,按照余承东的说法“塞翁失马,焉知非福”。
        总之,华为的“鸿蒙”操作系统,底层(Linux内核、运行库)是用C语言编写的,虚拟机可能采用了C或者C++语言;面向应用开发商的开发环境很可能是Java语言。

作者:芯方向s
转载链接:https://www.jianshu.com/p/26661c77c2e7

网站声明:以上内容为转载的文章,如有侵权,请联系我们及时删除,谢谢!