华为鸿蒙微内核、方舟编译器是鸿蒙生态的两大核心要素

鸿蒙从设计之初就为多终端(如边缘计算 IoT、服务器等)而生微内核、方舟编译 器作为鸿蒙操作系统生态的两大核心要素微内核乃操作系统的一种结构形式,将系统实现各功能的模块化,更灵活,易于拓展、 易于维护与更新迭代;编译器可视为人与机器的“翻译”,将人的程序语言翻译给计算机 可理解并执行,是人与计算机之间实现沟通的桥梁

华为鸿蒙微内核、方舟编译器是鸿蒙生态的两大核心要素

华为 10 年来在编译器与系统内核的布局演进,已经为鸿蒙操作系统和进军物联网做 好了充足的铺垫。

华为鸿蒙微内核、方舟编译器是鸿蒙生态的两大核心要素

鸿蒙微内核从底层即为物联网设计 

微内核与宏内核相对应,是操作系统的一种结构形式。

    操作系统的核心功能包括文件 系统、内存和 I/O 设备管理、CPU 调度等,宏内核即指操作系统将上述功能全部“打包集 成”在内核里,不同的功能模块之间耦合度高,所以具有高效率的优点,代表系统包括 LinuxUnix 等)。微内核则将系统分为各个小的功能模块,仅将最核心的调度、内存管理功能保 留在内核中,驱动、文件系统等以“外部模块”的形式与内核连接,相应的优势是易于拓 展、易于维护与更新、稳定性高,代表系统包括 WindowsMac OS X

微内核更适应复杂的程序功能能够更灵活地移植至不同硬件平台

   微内核仅在操 作系统的内核中保留最基本功能,大大降低了内核的开发难度;分布式思维,将非核心的 程序和模块隔离在内核之外,因此当单一程序出现错误时不会影响系统整体功能;同时, 微内核相比宏内核更易于移植,开发、更新周期也得以缩短。

 仿照第一部分,同样可作以下类比:若操作系统类比为车辆等交通工具,则不同内核 结构相当于车辆的不同定制方式。宏内核相当于商用整车,而微内核则类似支持深度定制 车。在行驶过程中,商用整车虽整体运行效率高,但如果某一部件出现故障,则需要专人、 同款备件才能维修;而定制车的很多模块可替代性本身就非常强,且能够通过简单改装在 不同路况下行驶(不同硬件环境)

微内核在结构形式上比宏内核更扁平化,也更灵活

华为鸿蒙微内核、方舟编译器是鸿蒙生态的两大核心要素

   鸿蒙微内核从底层即为物联网设计。上述可知,微内核的最大特性是仅在内核中保留 最核心功能,因此对于鸿蒙而言:连接实时性更好(响应时延降低 25.7%、时延波动率降 55.6%),同时结合 5G 低时延场景,尤其适用于工业控制、智能交通等物联网领域; 可以做到故障隔离,最大程度保证系统的稳定性与安全性,在 5G 超多连接场景下更能满足 万物互联的要求。

   鸿蒙微内核体现分布式的特点解决 IoT 生态协同的痛点目前已有操作系统基本只 对应于某一种硬件Windows 对应 x86 PCiOS 对应苹果手机等。但 IoT 时代终端种 类数量极大拓展,难以针对每种硬件分别开发操作系统或应用程序,不同硬件终端的生态 无法共享协同,开发效率低而鸿蒙实现了硬件解耦,即可针对应不同设备进行弹性部署 (例如智慧屏、穿戴设备、车机、音箱、手机等)。同时创新的分布式软总线使得拥有不 同功能的硬件可以彼此协同。

  例如:传统的相机、电视、音响等设备原本相互独立;但在鸿蒙的分布式软总线下, 这些设备被“虚拟化”成摄像模组、显示模组、外放模组,并成为有机整体,用户无需另 行设置即可按需调用各种功能,硬件终端之间形成相互协同。

未来基于微内核的鸿蒙操作系统将广泛应用于 IoT 领域

 华为鸿蒙微内核、方舟编译器是鸿蒙生态的两大核心要素


微内核是 IoT 操作系统演进方向,鸿蒙微内核之效率、安全性业内领先。一般微内核 系统,由于驱动、文件系统等进程被外置,各模块之间的通信需要经过内核“搭桥”,因 而效率往往比宏内核要低。但鸿蒙微内核对进程间通信进行了高度优化,使得鸿蒙相比 QNXFuchisia 效率提升 3 5 3。此外,由于微内核的代码数量远远少于宏内核,因 此鸿蒙能够以对每行代码进行充分的“形式化”的安全验证,显著提升了内核安全性。

2 方舟编译器是鸿蒙的取胜关键

 方舟编译器最早系华为2019 4 月在 P30 系列手机发布会上公布,但实际积淀十 年,定位多终端系统。华为早期表示方舟编译器将大幅提升手机端安卓系统的运行效率, 而开发编译器其实是协助鸿蒙操作系统更深层次布局边缘计算、服务器等领域。

 对传统编译器而言编译时点跨语言编译制约应用程序执行效率的瓶颈应用程 序的执行要经过字节码到机器码的转换,程序员在编程时使用上述 CC++JavaC#程序语言,但硬件的执行逻辑是基于 0 1 的二进制。因此要让硬件能够“读懂”指令, 就需要编译器把“程序语言”转译成“机器语言”。

 1编译时点:根据编译器工作时点的不同,编译方式可分为两种,但执行效率仍有 提升空间一种是“边执行、边翻译”,程序调用了某一句指令,编译器就实时将其转译 为二进制码(早期版本安卓使用该方案,程序执行效率低下);另一种是引进高性能虚拟 机(在安卓系统中为 ART,即 Android Run Time),在程序安装时或系统空闲时就提前 将代码转译完毕,进一步提升了程序执行效率,但新的问题在于程序安装时间长。

2)跨语言编译:程序往往使用不同语言编写,对编译效率产生较大影响。例如采用 Java C/C++等多种语言混合开发的应用程序,在运行时需要借助通用接口来协调不同代码(即 Java Native InterfaceJNI)。通用接口需要占用硬件资源,同时不同代码的协调 本身就低效,所以传统编译器下跨语言应用的执行效率较低。 方舟编译器对以上两大瓶颈的解决方案是将编译过程提前至开发者环节。在安卓的 体系下,一些复杂动态语义的编译仍需交由虚拟机完成。方舟编译器开发团队通过梳理 Java 的动态语义,进行了大规模的数据建模,尤其是在跨语言编译时,大大提高了动态语义分 析的精度;另外,华为设计了一套具有核心专利的动态语义匹配机制,有效降低了运行时 动态语义的开销。最终结果是,方舟编译器能够在应用程序执行之前,就将 Java 代码编译 成机器语言,极大释放了硬件资源这一点对于多终端尤其是物联网边缘计算而言尤为重

方舟编译器极大精简了开发环节,提升了运行效率

 华为鸿蒙微内核、方舟编译器是鸿蒙生态的两大核心要素

      方舟编译器对开发者友好,利于形成良好生态。过去安卓等系统避免在开发者环节涉 及编译,一大原因是为了降低开发难度,开发者只需完成代码编写即可,而无需考虑如何 跨语言编译。但方舟方案下将编译过程提前至开发环节,并不增加开发者负担,相反开发 还能通过方舟预置算法进行代码优化,还可自行开发代码优化算法,未来代码优化甚至 有可能迁移至云端。开发环境友好是鸿蒙搭建良好生态的重要因素。 对于方舟编译器也可类比如下过去 ART 虚拟机搭配安卓系统,相当于经验丰富的 司机驾驶传统的手动挡汽车;而方舟编译器搭配鸿蒙操作系统,则相当于搭载了 L4 级别自 动驾驶的车辆,车辆行驶可以随时根据车况、路况灵活调整,保证所有乘客的乘车体验均 为最佳兼容 Java CC++多种语言增强了鸿蒙即战力,并与自有麒麟、鲲鹏等硬件架构 协同,形成类似 Win-tel 的软硬件格局。

    因此综合微内核、方舟编译器两大要素看,鸿蒙生而为物联网设计,并非单纯以手机 操作系统为主要阵地。一方面,对于华为成熟的手机业务而言,做系统容易,建生态难, 当前安卓和苹果构建了几乎不可打破的生态系统,在条件允许的情况下继续使用安卓对 于华为是一种资源节约。 进一步更通俗地解释:对于开发者编写的不同程序,只需经过方舟编译器的处理,鸿 蒙操作系统即可顺利执行;且微内核下的鸿蒙可移植于不同平台。这样的系统特性天然适 配于物联网时代的海量终端与海量应用。

相关内容

实战教学·项目驱动

132 2811 3191
预约免费试学
点击咨询
预约试学