03.06 鸿蒙系统用什么语言?如何评价?

互联网科技爱好人


大家都知道,谷歌安卓系统是以Linux为基础开发的,而华为鸿蒙系统也是基于Linux进行开发,因为Linux从一开始就是开源软件,所以任何人都可以免费的使用,也正因此安卓系统可以做到免费和开放,成为全球用户群最大的手机系统。

鸿蒙系统作为华为的备用方案,首先必须要考虑的就是兼容性和开放性,这样更加自由的Linux自然就是首选,由于Linux可以运行在多种硬件平台上,所以基于此开发的鸿蒙系统可以尽可能的兼容适配更多的硬件设备,开发者在上面开发应用相对来说也会更简单一些。

所以从系统内核和编程语言上来说,鸿蒙系统应该就是Linux+Java,这样做可以最大化的减少鸿蒙系统的生态建设成本,意味着安卓生态现有的应用资源可以兼容到鸿蒙,在系统应用初期能很大程度解决没有软件可用的问题,这一点对于鸿蒙来说至关重要。任正非也说过,制作操作系统并不难,最难的是在于生态环境搭建。

然而Linux尽管自由度够高,但是比起UNIX这种闭源式内核来说仍然效率偏低,华为为了更好的适配环境和兼容性不得已继续使用Linux内核,但是华为这几年也没闲着,开发的方舟编译器可以在底层代码上进行大幅度优化,未来随着鸿蒙系统+方舟编译器+麒麟CPU的软硬件组合,华为产品的性能和效率可能会超过现有的所有安卓手机,这意味着华为可以垂直整合优化整个系统,未来潜力很大。


嘟嘟聊数码


上干货,我写过OS,编程语言一开始需要汇编语言(Nasm,GAS等),我本人习惯GAS,用汇编完成引导后,就可以跳入用C写的内核,C和汇编其实是一回事,只是写法不一样,最后都是ELF格式的二进制文件。

启动过程很简单,一开始准备一个软盘,Linux dd命令可以生成,第一扇区的最后2个字节分别是0x55和0xaa,链接器把程序入口放在第一扇区的0x7c00处,一开机BIOS自检后就会跳入0x7c00处执行引导程序,至于为什么是0x7c00,因为它是工业规范。

2、如上截图是我用GAS +C写的一个简单的多任务操作系统(参考了tinix),引导过程用了Grub的multiloader协议,grub已经完成了A20地址线的初始化以及进入保护模式的GDT设置,而我们内核要干的事,就是初始化timer,文件系统(广义的文件,不仅仅是磁盘文件,所有的FD都是文件)、进程管理、系统调用、shell等等。 上图的九九乘法表就是我在自己OS上看开发的一个应用程序demo,它跟内核是分开的。

最后,开发操作系统,最基础的是汇编语言和C,其它的应用程序语言如java等还拍不上用场,而用C写程序,还不能乱调用API,因为此刻你的OS里可能都没有实现标准的C语言运行时库。 OS开发,最难的不是怎么编程,而是如何实现各种工业规范





M小哥哥


    鸿蒙、安卓、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语言。


Geek视界


底层的东西一般不是汇编就是C语言了,可以说不关你是win操作系统还是linux操作系统还是苹果操作系统,内核的编写可能更多的是汇编来实现,尤其是关键内核,比如处理文件系统、内存调度、资源分配、地址管理等方面更多的会直接使用汇编来写,其他的一些会大量的使用C语言,可能某些模块还是涉及到C++,华为鸿蒙系统是基于Linux系统开发的系统,现在有一个论调就是一说基于linux开发,大家就说这还是在别的系统上二次开发的,根本不是国产的东西,其实这完全就是一个谬论,因为很多时候就算是基于linux开发,很多核心的东西还是需要自己来搞,可以说单说一个linux内核基本上是什么都干不了的也就是个开关机的作用,因此其他的各种功能和系统的支持模块都必须从头做起,这就好比你要盖一个房子,政府就是给你批了一块地,这块地就是内核,至于房子要建成什么样子或者是内部需要装修成什么样子,这个都要取决于建设者,那么这块地就是内核,而房子和内部装修都是基于这块地上建成的。

为什么我们不自己开发个内核,其实开发一个操作系统如果要让中的工程师来干还是可以搞的但问题是你搞出来的这个东西没有生态系统,没有第三方应用软件支持,那么你开发的这个系统就是个废物产品,大家并不会去用它,但是基于linux开发的话,可以很完美的支持现有的各种软件及生态应用。因此搞一个操作系统难点并不是在于开发一个完整的内核,难点在于要建立一个强大的软件生态圈这个是最难做到的。

华为鸿蒙系统既然是基于linux系统开发的,那么其大部分的功能开发使用的语言肯定就是C语言,这是绝对可以肯定的。


程序小崔


根据华为公布的方舟编译器资料 可以推测鸿蒙系统是用C、C++语言编写

先来看华为公布的方舟编译器原理图

从上面的华为方舟编译器资料可知:

1、鸿蒙系统和方舟编译器的思路应该是一样:直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码;

这样的好处是:不需要中转,执行速度快;劣势是:必须要有大量的静态方案、内存空间要求更高。

2、由于是用C、C++进行编写app,对软件开发人员要求高,提高了建设生态链的技术门槛。

3、由于华为目前有芯片、系统等软件和硬件基础,华为鸿蒙系统若走苹果IOS封闭系统模式,虽然路途漫长但前途可观。

但华为主业是通讯,并非手机,这和苹果主业是手机的特点不同。华为没有办法全身心投入开发封闭式的鸿蒙系统。

华为因为手机并非主业,只能走开源之路。但作为手机制造商的华为,如何让其他手机制造商使用的系统,将是一个巨大的难题。

毕竟没有一个手机制造商去帮助一个依是裁判员又是运动员的手机系统发展,导致自己的市场份额缩减。


可以预见的鸿蒙系统

1、除华为外其他国产手机公司不会安装或重视。由于google禁售的是华为,对于小米等其他国产手机公司不禁售,因此小米等其他国产公司不会安装鸿蒙系统,即便出于公共形象的压力而安装,也不会真正重视,最多就是做个样子。

反正,内斗内行吧——除非华为让渡鸿蒙系统的控制权!

2、鸿蒙系统即便能够兼容安卓应用,在过了新鲜期之后,如何提升用户体验度是关键。如果像阿里OS一样可以远程删除用户的app,就直接死翘翘吧。

保持软件开发商的利益和用户体验度的平衡,是鸿蒙系统能否生存的关键。开发商没有得到利益,不会开发鸿蒙系统的app;用户体验度差,用户就不会用鸿蒙系统。



每天原创,给你有价值的观点!
随手关注,你的支持才是动力!

历史哨声


中国人内战内行外战外行,一说到麒麟980就喷句架构是美国的,说得好象它们用的骁龙、联发科处理器是自己研制似的,实际是华为买下永久使用权,就象买下房子属私有财产,反观高通和苹果架构还是借用的。华为自己开发的达芬奇架构NpU麒麟810和鸿蒙操作系统,看它们又挖空心思发明什么新名词来喷,支持华为、京东方民族企业。

华为自研达芬奇架构的NPU!CPU(魔改)、GPU(公版)、NPU(自研)、ISP(自研)、DSP(自研)、基带芯片(自研)!也只有海思和高通能做到!苹果、三星、联发科也是公版CPU魔改,那么只剩GPU了,期待华为自研GPU早日到来!国内其手机厂商没制作半块芯片,只会撕裂喉咙犬吼:安兔兔跑分。

麒麟810是用来辗压骁龙730的并对外出售,除回应特朗普禁售骁芯片作出的强硬反制外,并打破麒麟处理器不外售的堡垒,第一批使用它的友商是360、中兴、努比亚、魅族、酷派等。看华为发布会是瞪大眼睛看新科技,小米是看性价比和安兔兔跑分吊打友商,蓝绿厂是看小鲜肉摆型给记者拍照,苹果是熟读老三编看革命样板戏。

美国向中国禁售芯片,如果华为不出手相救,友商全爬下。鸿蒙操作系统会兼容安卓系统,即现时安卓用什么语音它用什么






大公子影视特效制作


先说结论:鸿蒙应该是用C语言和汇编语言写成的。

鸿蒙应该Uinx和自研的结合体

首先华为不可能从0开始自研一个操作系统,应该是基于UNIX操作系统改造过来的。参考了目前安卓,ios操作系统的优点,避开了他们的缺点,然后基于未来的物联网设备的特点,走上了自研操作系统的征程。

鸿蒙的功能

根据这次华为开发者大会透漏的内容,鸿蒙具有四大特点:

鸿蒙操作系统可谓是在流畅上下足了功夫,微内核,实时操作系统,低时延都是为了让鸿蒙操作系统响应的够快,这样才有可能竞争过安卓和iOS。

但华为又提供了很多未来会用的功能,如果分布式架构,可以实现跨屏体验。比如手机和笔记本的跨屏体验,手机和智慧屏的跨屏体验,未来会出现很多有意思的应用和操作。在手机上的内容或者操作,立马可以提现到另外一个设备上,不需要后台提供支持,这个体验是不是很棒棒哒!

评价

安卓和iOS是为了手机而生,但鸿蒙的志向更远大,是为了未来的物联网而生,在充分考虑了未来设备的特点和场景后,提炼出了鸿蒙的四大功能,这四大功能看起来平淡无奇,实际上威力是很巨大的,鸿蒙的目标不是当下,而是未来5G商用后,各个AIoT设备的使用需求。

手机的保有量是可以看到天花板的,但物联网设备的天花板目前是看不到的,因为未来的万事万物都有可能互相连接,他们都要运行操作系统,鸿蒙是大有可为的。


逐浪踏雪


感谢阅读,很高兴为你解答。

鸿蒙系统到底用的什么语言编写的?



看到这种严谨的问题时,我告诉自己不能去瞎猜,瞎写,于是去网上查证了2个小时。找到了比较可靠的答案,分析如下。

张汝京博士是中芯国际的创始人,在中国半导体业界是绝对的权威人士。最近他接受采访明确表示:华为的鸿蒙系统是“微内核设计”,完全推到重来,基于5G平台,从新开发的系统。和以前安卓,IOS,完全不一样,也不基于传统的Linux宏内核和UNIX。(资料来源:微博.工信布)

这种“微内核设计”的鸿蒙系统,我认为很大可能是最基层的C和C++语言来编写,因为历史上目前出现的微内核系统基本都是这两种语言来编写。

这么看来华为从2012年上马的自主操作系统研发,确实是大招,非常用心,完全是从最底层的语言开发,谁也不能卡脖子。现在想想寓言“鸿蒙开天辟地”,简直就是量身定做的名字!

如何评价鸿蒙系统?

鸿蒙系统是华为秘密研发几年的操作系统,是战略试武器,防止竞争对手卡脖子,是迫于无奈,防守反击推出的。

但是我们根本不用担心鸿蒙系统国内适配问题,很明显它的特征网上已经说的非常清楚了,兼容安卓,而华为也是安卓底层的主要贡献者之一。这次鸿蒙系统会采用EMUI9.1上的方舟编译器升级版本,可以得到快速优化适配,第三方厂家无论优化安卓还是无成本用方舟编译器复制APP,都能迅速建立鸿蒙系统的生态。

鸿蒙系统最头疼的是国外与谷歌微软竞争,据悉谷歌新系统Fuchsia OS和华为鸿蒙系统一样采用“微内核设计”,一样打通手机,PC电脑,平板,等平台,是不是觉得有些熟悉?没错这就是未来5G万物互联时代的系统特征。而安卓系统以后会被抛弃。

如果未来某国不撤销禁令,华为鸿蒙系统就会是谷歌新系统Fuchsia的直接竞争对手。谷歌的优势是多年已经形成的各种生态优势,华为系统的优势是可以借载华为国外的5G硬件技术平台。

根据华为内部员工爆料,华为不得不惜一切代价在国外建立生态,积极和国外第三方互联网厂商合作。我感觉我是不是揭露了什么秘密哈哈,在华为主宰的5G时代对鸿蒙系统的推广是非常有利的。怪不得有国家着急了。

回答完毕,希望我的回答能帮助到你们。有不同看法的欢迎留言和关注。


解悟科技诸葛慕


  收到头条号推荐的问答,本人很高兴为大家回答这个问题,希望通过我的回答给大家带来帮助,这是我个人的见解与意见,如有不同意见,欢迎留言,我们共同探讨,我们一起成长一起学习。

  华为鸿蒙系统(HongmengOS或HomonOS,HMOS)是华为公司开发的专有操作系统。

  2019年5月24日,国家知识产权局商标局网站显示华为已申请“华为鸿蒙”商标。最重要的是,这个系统是中国取代美国在美国和中国的技术力量。

  Hongmeng OS是基于Linux内核源代码的开发。 OS实现代码主要是C语言,内核提供的本机系统调用接口肯定也是C语言接口。上层APP应用程序与现有的Android JAVA程序兼容,可能需要重新编译JAVA应用程序。程序代码将运行。至于应用程序编程SDK不支持JAVA以外的编程语言,还需要等待系统正式发布后才能发布,但是你可以先了解下面的编译器,据说这是一个业界开源编译器,用于编译APP程序。 。但是,我仍然希望鸿蒙操作系统的应用程序编程接口支持更多的编程语言(如CC等),这样程序可以有更多的选择。

  以上是本人的一结关于这个问题的回答,根据本人学识与经历写成的,如有不成熟的地方望指正。同时,喜欢我的回答请给我点个赞和加关注吧。我衷心希望通过解答能够帮助到朋友们。感谢头条号,提供平台,生活有您更精彩,还希望您好分享评论出来共同讨论这话题。最后,真诚的祝天下的朋友们每时每时每刻无论工作生活都健健康康快快乐乐,家和万事兴,年年发大财,恭喜发财,谢谢!


科技业界


华为鸿蒙操作系统如果与安卓一样,是基于Linux(开源)开发的,源码是C语言,鸿蒙系统的编程语言不可能是本土的易语言、易安卓,很有可能是C语言、JAVA等。但是早期已经有消息称,华为是基于谷歌的Fuchsia OS,谷歌也想以该系统取代问题频发的安卓系统。Fuchsia不再使用Linux内核,而是Magenta内核(谷歌已经改名为Zircon),使用的开发语言是谷歌Dart语言。据悉,华为麒麟970处理器一直在与Fuchsia OS测试兼容性。

操作系统这个事,中国企业早晚得开发出来,否则用别人的总是提心吊胆的,只有自己掌握核心技术的自己研发出来的操作系统,使用起来心里才踏实,虽然刚开始肯定不如成熟的苹果,安卓系统啦,但中国有十四亿的大市场啊,边使用边提高,逐步完善吗,前几年,微软操作系统升级,把中国所谓的不是直接购买微软系统软件的,升级后通通都给黑屏啦,这就是教训,看来确实是人家在后台能控制你啊。

华为的“鸿蒙”操作系统由四部分部分组成:Linux内核+麒麟处理器的运行库+编译器+虚拟机。

Linux内核:Linux内核是开源的,由linux内核团队维护,而linux的内核采用了C语言,而不是很多认为的C++,C语言的执行效率要远高于面向对象的编程语言C++。

运行库:运行库在Linux基础上,针对不同的处理器,运行库需要进行适配。比如麒麟处理器指令集和高通处理器的指令集可能存在差异,不是完全相同,那么就存在一个适配的问题,而程序库通常情况下采用C语言编写。

虚拟机:虚拟机用于沟通操作系统和硬件,是两者之间的桥梁,屏蔽了不同系统之间的差异性,可以实现跨平台,同时很大程度上降低了应用开发难度。目前,普遍使用的虚拟机是Java虚拟机。

编译器:编译器将Java编写的代码转换成虚拟机机器码或者硬件可以直接认识的机器码。华为的方舟编译器实现了代码的静态编译,相比传统安卓应用流畅度提升了60%。

“鸿蒙”和安卓的差异

鸿蒙操作系统兼容安卓应用,那么“鸿蒙”操作系统和安卓有什么区别呢?

1)架构不同

鸿蒙操作系统是微内核设计,而安卓系统是基于linux的宏内核设计,相比来说,微内核开发难度大,但是系统稳定性高。

宏内核,内核包含了操作系统绝大多数的功能,而且这些功能和模块具有最高的权限,好处是系统开发难度低,但是各模块具有最高权限,一个模块出错,整个系统崩溃,这也是安卓系统容易崩溃的原因。

微内核,内核仅包括了操作系统必要的功能模块(任务管理、内存分配等),其他模块不具有最高权限,系统稳定性得到了提升。

看到这种严谨的问题时,我告诉自己不能去瞎猜,瞎写,于是去网上查证了2个小时。找到了比较可靠的答案,分析如下。

张汝京博士是中芯国际的创始人,在中国半导体业界是绝对的权威人士。最近他接受采访明确表示:华为的鸿蒙系统是“微内核设计”,完全推到重来,基于5G平台,从新开发的系统。和以前安卓,IOS,完全不一样,也不基于传统的Linux宏内核和UNIX。(资料来源:微博.工信布)

这种“微内核设计”的鸿蒙系统,我认为很大可能是最基层的C和C++语言来编写,因为历史上目前出现的微内核系统基本都是这两种语言来编写。

这么看来华为从2012年上马的自主操作系统研发,确实是大招,非常用心,完全是从最底层的语言开发,谁也不能卡脖子。现在想想寓言“鸿蒙开天辟地”,简直就是量身定做的名字!

如何评价鸿蒙系统?

鸿蒙系统是华为秘密研发几年的操作系统,是战略试武器,防止竞争对手卡脖子,是迫于无奈,防守反击推出的。

但是我们根本不用担心鸿蒙系统国内适配问题,很明显它的特征网上已经说的非常清楚了,兼容安卓,而华为也是安卓底层的主要贡献者之一。这次鸿蒙系统会采用EMUI9.1上的方舟编译器升级版本,可以得到快速优化适配,第三方厂家无论优化安卓还是无成本用方舟编译器复制APP,都能迅速建立鸿蒙系统的生态。


分享到:


相關文章: