core酷尔币是哪个国家的 鸿蒙系统用什么语言?如何评价?
鸿蒙系统用什么语言?如何评价?
中国人内战内行外战外行,一说到麒麟980就喷句架构是美国的,说得好象它们用的骁龙、联发科处理器是自己研制似的,实际是华为买下永久使用权,就象买下房子属私有财产,反观高通和苹果架构还是借用的。华为自己开发的达芬奇架构NpU麒麟810和鸿蒙操作系统,看它们又挖空心思发明什么新名词来喷,支持华为、京东方民族企业。
华为自研达芬奇架构的NPU!CPU(魔改)、GPU(公版)、NPU(自研)、ISP(自研)、DSP(自研)、基带芯片(自研)!也只有海思和高通能做到!苹果、三星、联发科也是公版CPU魔改,那么只剩GPU了,期待华为自研GPU早日到来!国内其手机厂商没制作半块芯片,只会撕裂喉咙犬吼:安兔兔跑分。
麒麟810是用来辗压骁龙730的并对外出售,除回应特朗普禁售骁芯片作出的强硬反制外,并打破麒麟处理器不外售的堡垒,第一批使用它的友商是360、中兴、努比亚、魅族、酷派等。看华为发布会是瞪大眼睛看新科技,小米是看性价比和安兔兔跑分吊打友商,蓝绿厂是看小鲜肉摆型给记者拍照,苹果是熟读老三编看革命样板戏。
美国向中国禁售芯片,如果华为不出手相救,友商全爬下。鸿蒙操作系统会兼容安卓系统,即现时安卓用什么语音它用什么
鸿蒙系统2.0的源码我没有拿到。我从开放原子开源基金会的官网下载了鸿蒙系统1.0的源代码。本文的分析都是基于鸿蒙系统1.0的源码来进行的。下文不再特意注明该点。
鸿蒙系统1.0压缩包约225M。它的内核是实时操作系统RTOS的内核,主要面向IoT领域。它的内核是用C语言写的。它的内核根据CPU架构的不同分为两个版本:liteos_a和liteos_m。其中liteos_a主要针对Cortex-A系列处理器,而liteos_m则主要针对Cortex-M系列处理器。Liteos_a内核有777个文件,大小约13M。Liteos_m内核有119个文件,大小约863KB。
鸿蒙系统1.0的DFX框架是用C语言写的。
鸿蒙系统1.0的XTS认证模块是C语言和C 混合编写的。
鸿蒙系统1.0中也有一些模块是用C 语言编写的,例如JS应用开发框架。
简单的说,鸿蒙系统的内核是C语言编写的,其他模块有的是C语言写的,有的是C 编写的,有的是混合了这两种语言。
鸿蒙系统1.0支持在128K-128M设备上运行,可以说它是微内核的操作系统,适用范围还是很广的。
上干货,我写过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开发,最难的不是怎么编程,而是如何实现各种工业规范
华为开发者大会刚结束不久,现在不用猜测华为鸿蒙系统的什么语言了。
实际上绝大数大型操作系统的开发都离不开C/C 、汇编语言这三种。
汇编语言效率最高,但开发太晦涩难懂了,C语言可以直接操作计算机硬件、更接近计算机的本质,效率也很高。
C 提供更多高级特性且性能与 C 语言十分相近,现代的大型系统,那还有说是纯粹的C语言开发,基本上都是C语言与C 的相互协同,如UNIX,Linux,Windows,安卓等,鸿蒙操作系统是以Linux为基础的,所以鸿蒙操作系统开发语言也离不开这三种。
至于面向应用级开发者的语言,目前已经公布了,支持Java和JS(Java也是C语言编写的),其实支持Java并不意外,安卓开发也是Java,开发人员学习成本低才更有利于鸿蒙发展。
目前,华为推出的鸿蒙系统仅支持编写内存在128M以下的智能手表,电视等设备的程序。
不过,在开发者大会上,余承东说今年 12 月份将会发布鸿蒙手机版本,明年华为手机将全面升级支持鸿蒙2.0。所以,手机的系统还要等一等,拭目以待吧。
那么我们来看看华为现在公布的鸿蒙2.0的设计思想是怎样的呢?
上图是华为对鸿蒙系统的定义,可以看到华为的野心还是相当大的,华为打算做一款打通各种终端的分布式操作系统。
简单说就是基于微内核,适配不同终端,我个人理解就像是地基是鸿蒙微内核,然后各种功能组件好比是各方面的建筑材料。
至于上面要盖什么建筑,给什么设备使用,就可以按照组件化的思想,聚集这些需要的建筑材料,来搭建合适的建筑。底层是一样的,能大大提高应用的移植性。
上图是鸿蒙系统应用软件包的组织形式,可以看到目前来说和安卓没太大区别,除了配置文件从xml改成了json。
华为目前也给了开发的IDE,SDK,有比较详细的文档,和一个hello world的小例子。
IDE是集成开发环境,鸿蒙系统开发IDE是DevEco Studio,目前DevEco Studio只支持Windows。
使用华为提供的远程模拟器是需要注册华为开发者账号的,接下来的流程也很简单,按照步骤操作就可以了,一个简单的鸿蒙应用hello world就跑起来了。
目前来说呢,harmonyOS还比较简陋,至于华为推崇的微内核,并没有实际体验到有何具体的效用,还有分布式这些目前来说也仅存于概念上。
不过这第一步华为算是走出来了,而且后续华为还会上线更多的例子供大家学习,不管怎么说,还是比较期待鸿蒙手机系统的,希望到时候不会推迟
有想体验一下鸿蒙系统的可以搜华为开发者联盟,文档程序下载入口都能在里面找到。要说的一点是,鸿蒙系统也是开源的,开源在gitee上,目前star已经达到了6.1k,有兴趣的可以去看看。
以上是个人观点,欢迎大家评论交流!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。