FAQ 看透鸿蒙(持续更新)
作者:互联网
鸿蒙是什么?
鸿蒙系统(HarmonyOS)是基于微内核的全场景分布式 OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。
鸿蒙 OS 实现模块化耦合,对应不同设备可弹性部署,鸿蒙有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架 。可用于大屏、PC、汽车等各种不同的设备上。此外还可以用在手机上,但华为手机端暂时依然优先使用安卓。
鸿蒙的四大技术特性
- 分布式架构首次用于终端 OS,实现跨终端无缝协同体验;
- 确定时延引擎和高性能 IPC 技术实现系统天生流畅;
- 基于微内核架构重塑终端设备可信安全;
- 通过统一 IDE 支撑一次开发,多端部署,实现跨终端生态共享。
鸿蒙在分布架构上,实现模块化解耦,对不同设备进行可弹性部署。采用分布式软总线核心技术,将表示层、会话层、传输层和网络层等协议精简为一层,能提升有效载荷。还通过多方面提升 IPC 性能,在进程间通信效率提升 5 倍。
鸿蒙项目背景
机器将来都会智能化,这样的话它就要求对操作系统能适应多种设备多种终端,所以对操作系统提出更高的要求,所以华为在面临 AI 全场景时代来临,万物智能、万物互联时代来临的时候,定义了下一代的操作系统鸿蒙。鸿蒙能够不依赖于别的公司,因为过去的一些操作系统都是某个公司拥有的,这样就没有完全开放。不必被某一家公司所局限,也让国家科技更加自立自强,也让华为更加领先。
什么时候开始研发鸿蒙?
华为 10 年前就开始探索鸿蒙。
鸿蒙系统的名字有何含义?
鸿蒙中文有“开天辟地”的意思,最接近的英语单词就是 Genesis(创世纪)。用汉语拼音表达鸿蒙太难发音,所以取英文名 Harmony,同时也希望给世界带来更多和平与方便。
鸿蒙的历史
2018 年 8 月 24 日,国家知识产权商标局网站显示,华为公司申请通过了“华为鸿蒙”商标。
2019 年 5 月 21 日,华为创始人、CEO 任正非表示华为在做自己的操作系统,华为消费者业务负责人余承东表示,华为操作系统最快当年秋季、最晚次年春天将面市,将全面兼容安卓和 Web 应用。
2019 年 6 月,华为轮值董事长胡厚崑宣布华为“备胎计划”,其中包括鸿蒙操作系统。
2019 年 8 月,华为正式发布鸿蒙 1.0,同时带来第一款搭载鸿蒙的产品——荣耀智慧屏,这款产品最大变革是鸿蒙的分布式架构,不同的终端之间可以互为终端或者互为外设。
什么是全场景?
根据鸿蒙架构设计,系统可运行在智慧大屏、穿戴、车机、音响、手表、手机、PC 等各种各样的设备。
通过一套系统实现模块化解耦,对应不同设备可以弹性部署,不管硬件能力强还是硬件能力弱的,都可以一套操作系统,统一在不同硬件平台上进行加载部署。
同时应用强大灵活统一部署能力,一套系统能够运行在不同硬件能力上进行部署,适配丰富的万物互联时代。
鸿蒙系统是否可以用在智能手机上?
鸿蒙完全达到具备商用的程度,随时都可以用在手机上,但目前还是希望继续使用全球共用开放的手机操作系统和生态。换句话说,一个开放的安卓系统和生态依然是首选。鸿蒙未来在穿戴设备、车机、PC 等都可以使用。
什么叫分布式架构?
目前所有的主流操作系统架构都是集中式的,即你的手机 OS 和你家的智能电视的 OS 各自独立,除了共同享有后台的数据,本身没什么联系。
打个比方,即使你在手机和智能电视上同时打开一个 APP,现在的实现也是各自运行各自的,手机的操作不会影响到智能电视上 APP 的运行,除非是改了后台保存的数据。
而鸿蒙这一分布式架构,可以实现应用的协同处理。在手机上的操作,可以同时在智能电视的 APP 界面上得到体现,手机关闭 APP,电视上的 APP 也关闭。这就是多终端的协同处理,鸿蒙 OS 可以把多个终端统一管理,联合来实现某项功能。
什么是微内核?
所谓微内核是相对宏内核来说的。微内核是提供操作系统核心功能的内核的精简版本,微内核仅仅提供基础的系统运行能力,以及为不同的程序/进程间提供消息的交互机制。
宏内核相当于一个大主管,提供全面的系统运行功能,例如时间管理、内存管理、文件管理、网络管理等,安卓就是一种宏内核的 OS。
微内核的好处是系统运行效率高,系统更加健壮,不容易出问题。微内核的最大的问题就是进程间的消息交互效率不高,如果有很多消息同时交互,可能会有消息丢失、重传导致系统反应变慢的问题。
宏内核不存在进程交互的消息通信问题,它的系统功能常驻内核和内存,执行效率会高一些,但是宏内核越来越多的功能会让系统越来越冗余,对系统硬件的要求很高,而且内部模块过于冗余,维护调试会越来越难。
宏内核的系统不适合一些轻量级的应用,如物联网。谷歌自己也在研究微内核操作系统 Fuchsia,为了万物互联,打造统一的操作系统,微内核是必须的。
鸿蒙如何做到低延时高性能?
鸿蒙通过使用确定时延引擎和高性能 IPC 两大技术解决现有系统性能不足的问题。微内核的系统可能会出现大量的进程间消息通信时一拥而上,导致大量消息被阻塞,系统性能下降的问题。
鸿蒙内部把不同的进程消息确定优先级,采用专业的调度算法来合理调度进程间的通信消息,高优先级的应用优先保障,低优先级的应用排队处理。这种机制让微内核进程间的通信变的有序,不会出现消息一拥而上导致丢失的现象。
为什么鸿蒙的安全性更高?
宏内核集成了很多系统功能,功能越复杂,系统越复杂。虽然系统功能的通信效率有所提升,但是复杂的耦合性让系统的故障率也更高,这是宏内核的特点。
鸿蒙采用微内核设计,微内核本身的健壮性和安全性就比宏内核高很多。微内核设计的基本思想是简化内核功能,因此不存在和系统功能的耦合性,让整个系统相对健壮。
同时通过华为先进的验证测试算法,可以确保整个 OS 更加安全,在受到攻击的时候系统更加稳定。
鸿蒙如何提高开发效率?
鸿蒙支持多终端的开发 IDE,支持多语言统一编译,也就是开发者可以一次性生成在不同类型的终端中运行的 APP。这一策略和鸿蒙的跨多终端部署的策略紧密相关,如果相同的或不同的终端都需要重新编译适配,那么对开发人员是不友好的。
如果开发者的应用需要同时在手机、车载、物联网路由器中使用,那么使用鸿蒙加上方舟编译器,只需要编译一次就可以,这样就可以实现多终端的部署和共享。
华为的方舟编译器可以为开发者在开发环境中将高级语言编译为系统底层的机器语言,机器语言的执行效率更高,同时也可以屏蔽不同虚拟机的差异。
方舟是什么?
方舟是鸿蒙系统的编译器。作为一款全新的编译器可以显著提高手机的运行速度,它不采用现有编译器边解释边执行的模式,而是将这种动态编译改为静态编译,可以做到全程执行机器码,进而高效运行程序,大大缩短程序响应时间。
开源地址:https://gitee.com/harmonyos/OpenArkCompiler
方舟的特性
- 多语言联合:将同一应用中的不同语言代码联合编译、联合优化,消除语言间的性能“鸿沟”,降低开发者的优化成本
- 轻量运行时:通过编译器的语言实现能力和优化能力增强,应用运行时的开销更小
- 软硬件协同:编译器与芯片实现软硬件协同优化,充分发挥硬件能效,应用体验更佳
- 多平台支持:支持面向多样化的终端设备平台进行编译和运行,根据设备特征提供便捷的开发与部署策略,提高开发效率
鸿蒙的开发与应用生态
鸿蒙除了本身是个操作系统,它还有一个开发与应用生态。简单来讲有几个大方向:LiteOS、方舟与 HMS。
首先鸿蒙 OS 本身由 Linux 内核、鸿蒙微内核、LiteOS 组成。LiteOS 是华为物联网操作系统,2012 年发布,2016年内核开源,在可穿戴设备、智能家居、车联网、LPWA 等领域应用。LiteOS 解决物联网应用成本、连接、安全三大痛点,是华为早期在 IoT 领域的探索布局,也是鸿蒙操作系统的雏形。
HMS(Huawei Mobile Services)生态是连接鸿蒙和 App 之间不可或缺的管道能力,对于海外市场,HMS 是对谷歌 GMS 的替代。HMS 包含一整套开放的 HMS Apps 和 HMS Core、HMS Capabilities、HMS Connect,以及相应的开发、测试的 IDE 工具。
HMS Core 是 HMS 生态中面向开发者提供的服务。HMS Core 是介于手机系统和 App 的中间套件,开发者调用 HMS Core 的接口后,可获得相应的功能,省去大量开发工作。
方舟引擎也叫 MapleEngine,是方舟编程体系的重要环节。方舟编程体系的整体目标是构建一个软件开发的全栈,包括编程语言、多语言前端、编译器、执行引擎以及其它相关工具链。整个方舟体系依靠 MapleIR 贯穿前后,MapleIR 是程序的中间表示,是编程体系中程序的表达方式。
而方舟编译器把 MapleIR 转换成机器码或者保留 MapleIR 中间码,方舟引擎则担负着执行该中间码的任务。可以认为方舟引擎和 JVM 类似,但超越了JVM,因为它不再是执行单一的 Java 程序。理论上说,只要能翻译成 MapleIR 的程序,都可以由方舟引擎执行。目前已经成型的包括编译器和引擎,其中引擎还只是初级阶段。方舟编译器将大幅提升手机端安卓系统的运行效率,而开发编译器其实是协助鸿蒙操作系统更深层次布局边缘计算、服务器等领域。
来源:
标签:微内核,鸿蒙,FAQ,看透,编译器,华为,内核,方舟 来源: https://www.cnblogs.com/0591jb/p/13642311.html