在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
鸿蒙OS最近突然火了,相信不少人对这个操作系统还知之甚少。其实它是华为早在2012年就开发出来的,本文就来为大家科普一下,鸿蒙OS是什么,它是怎样实现跨平台的?
一、鸿蒙OS是什么?
1、鸿蒙OS的概念。
鸿蒙(英语:Harmony OS,开发代号Ark)是华为自2012年开发的一款全新的、基于微内核的、面向全场景的、分布式操作系统。2019年8月9日华为开发者大会上,华为消费者业务CEO余承东正式宣布发布自有操作系统鸿蒙,内核为Linux内核、鸿蒙微内核和LiteOS。未来将摆脱Linux内核和LiteOS,只有鸿蒙微内核。
2、鸿蒙OS的四大技术特性。
分布式架构首次用于终端OS,实现跨终端无缝协同体验
确定时延引擎和高性能IPC技术实现系统天生流畅
基于微内核架构重塑终端设备可信安全
通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享
3、鸿蒙OS的应用。
鸿蒙OS将作为华为迎接全场景体验时代到来的产物,发挥其轻量化、小巧、功能强大的优势,率先应用在智能手表、智慧屏、车载设备、智能音箱等智能终端上,着力构建一个跨终端的融合共享生态,重塑安全可靠的运行环境,为消费者打造全场景智慧生活新体验。
二、鸿蒙OS是怎样实现跨平台的?
1、什么是跨平台?
在以前,平台基本等于操作系统。所以,传统意义上的跨平台即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。
但是随着科技的发展,平台基本等于操作系统已经不成立了,就像华为推出的鸿蒙OS,他可以支持到多种多样的设备,如手机、手表、电脑、汽车、智能家居设备等。所以,今天我们谈的跨平台,指的是跨设备。即平台基本等于设备。所以,华为希望鸿蒙OS可以运行在各种各样的设备上,所以,鸿蒙OS必然需要具备跨平台的能力。
而且,鸿蒙想要做的不仅仅是操作系统可以跨平台,更重要的是要让用户和开发者真正的感受到跨平台。所以,跨平台操作系统鸿蒙的目的是:使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。
2、Java实现跨平台。
提到鸿蒙OS实现跨平台就不得不提Java是如何实现跨平台的。Java对于跨平台的支持,就像对安全性和网络移动性的支持一样,是分布在整个Java体系结构中的。其中扮演者重要的角色的有Java语言规范、Class文件、Java虚拟机(JVM)等。
首先,在Java语言规范中,规定了Java语言中基本数据类型的取值范围和行为。其次,所有Java文件要编译成统一的Class文件。最后,通过Java虚拟机将Class文件转成对应平台的二进制文件。Java的平台无关性是建立在Java虚拟机的平台有关性基础之上的,是因为Java虚拟机屏蔽了底层操作系统和硬件的差异。想要运行一段Java代码,要经过多个步骤,将Java源代码转换成机器可以执行的机器代码,这个过程主要由虚拟机来完成。在著名的HotSpot虚拟机中,主要有解释执行和即时编译两种形式:
解释执行
逐条将字节码翻译成机器码并执行即时编译(Just-in-time ,JIT)将一个方法中包含的所有字节码编译成机器码后再执行。HotSpot 默认采用混合模式,综合了解释执行和即时编译两者的优点。它会先解释执行字节码,而后将其中反复执行的热点代码(热点检测),以方法为单位进行即时编译。
3、鸿蒙实现跨平台
在鸿蒙OS架构中,方舟编译器和多终端开发IDE扮演着重要的位置。跨平台有一个最大的挑战,那就是各个平台的适配问题,尤其是目前各种设备类型越来越多,如何将同一个应用,在手机、手表、汽车、电视上面都可以适配的展示呢?这就是多终端开发IDE所做的事情。
使用华为提供的多终端IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态。在IDE里面可以通过图形化界面拖拽控件,并且IDE可以帮助自动适配各种终端设备。
而鸿蒙OS使用的方舟编译器,可以将高级语言(Java)直接变成机器码,从而绕过了虚拟机。并且这个编译过程并不是在用户的手机上完成的,而是在应用开发阶段就完成了。另外,就像JVM其实也是支持多种语言一样,华为表示,方舟编译器未来也会支持更过的开发语言。换句话说,其他语言的开发者,日后也能开发基于鸿蒙OS的应用。
看到这相信大家已经理解了鸿蒙OS是什么,对它是怎样实现跨平台也有了大致的了解。让我们共同期待未来鸿蒙OS的发展吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
学数据库要看哪些书?从入门到精通书籍推荐
学数据库要看哪些书?本文就针对数据库这一知识点,给大家推荐七本书籍。这些书既有零基础可以看懂的,又有可以进阶提升的内容,内容上真正做到从入门到精通都涵概。
9070
2019-08-07 10:04:35
五个常用的Bash历史记录操作方式
众所周知,Bash历史记录里有许多快捷方式的记录,让人眼花缭乱。其实这些快捷方式使用起来,可以极大的提高我们学习和工作的效率。如果大家觉得这些方式很难记,可以循序渐进,每天只学一点内容,这样就能轻松掌握。下面小编将选五个最常用到的Bash历史记录操作方式为大家介绍。
4466
2019-11-08 20:01:38
电脑编程初学者注意哪些问题?
电脑编程初学者注意哪些问题?了解编程的过程中不断培养自己的大局观,寻找正确学编程路线,确认好编程的学习方向,每一种语言都有其优势。尽管编程以智力著称,但需要动手练习技能,光靠看书可不行的应该多练习。
4530
2019-11-22 14:44:42
有哪些编程入门书籍值得推荐?
学习编程当然离不开参考书,那么对于小白来说,有哪些书是必须读的呢?下面我们就“编程入门书籍”这一话题来进行分享。系统地、科学地学习才能提高效率。学习编程最好有一个专业的机构指导。
4779
2020-05-29 10:30:28
Go语言和Python区别是什么?学哪个好?
Go语言和Python区别是什么?学哪个好?Python功能强大的高级编程语言,用于科学和工程计算。Go通用编程语言,由Google设计,借鉴了许多其他语言,避免导致复杂性和不可靠代码的功能。放下个人偏见和喜好,从优点和功能的角度来评价两种语言。不管选择了哪种语言,Go 和 Python 都在持续演进。
5777
2020-07-31 11:05:45