乐趣区

关于harmonyos:科普干货|漫谈鸿蒙LiteOSM与HUAWEI-LiteOS内核的几大不同

摘要: 鸿蒙和 LiteOS 的内核都是一样的名字,可它们到底有什么不同呢?一起来比照一下文件吧!

HarmonyOS 零碎

HarmonyOS 是一款“面向未来”、面向全场景(挪动办公、静止衰弱、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设施零碎能力的根底上,HarmonyOS 提出了基于同一套零碎能力、适配多种终端状态的分布式理念,可能反对多种终端设备。

鸿蒙零碎的特点(硬件互助,资源共享):

1)分布式软总线

分布式软总线是多种终端设备的对立基座,为设施之间的互联互通提供了对立的分布式通信能力,可能疾速发现并连贯设施,高效地散发工作和传输数据。

2)分布式设施虚拟化

分布式设施虚拟化平台能够实现不同设施的资源交融、设施治理、数据处理,多种设施独特造成一个超级虚构终端。针对不同类型的工作,为用户匹配并抉择能力适合的执行硬件,让业务间断地在不同设施间流转,充分发挥不同设施的资源优势。

3)分布式数据管理

分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式治理。用户数据不再与繁多物理设施绑定,业务逻辑与数据存储拆散,利用跨设施运行时数据无缝连接,为打造统一、晦涩的用户体验发明了根底条件。

4)分布式任务调度

分布式任务调度基于分布式软总线、分布式数据管理、分布式 Profile 等技术个性,构建对立的分布式服务治理(发现、同步、注册、调用)机制,反对对跨设施的利用进行近程启动、近程调用、近程连贯以及迁徙等操作,可能依据不同设施的能力、地位、业务运行状态、资源应用状况,以及用户的习惯和用意,抉择适合的设施运行分布式工作。

5)一次开发,多端部署

HarmonyOS 提供了用户程序框架、Ability 框架以及 UI 框架,反对利用开发过程中多终端的业务逻辑和界面逻辑进行复用,可能实现利用的一次开发、多端部署,晋升了跨设施利用的开发效率。一次开发、多端部署。

6)对立 OS,弹性部署

HarmonyOS 通过组件化和小型化等设计办法,反对多种终端设备按需弹性部署,可能适配不同类别的硬件资源和性能需要。撑持通过编译链关系去主动生成组件化的依赖关系,造成组件树依赖图,撑持产品零碎的便捷开发,升高硬件设施的开发门槛。

HarmonyOS 零碎架构整体听从分层设计,从下向上顺次为:内核层、零碎服务层、框架层和应用层。零碎性能依照“零碎 > 子系统 > 性能 / 模块”逐级开展,在多设施部署场景下,反对依据理论需要裁剪某些非必要的子系统或性能 / 模块。因为零碎比拟宏大,明天次要是针对其中一个内核进行剖析,即 LiteOS 内核。

Huawei LiteOS

Huawei LiteOS 是华为针对物联网畛域推出的轻量级物联网操作系统,是华为物联网策略的重要组成部分,具备轻量级、低功耗、互联互通、组件丰盛、疾速开发等要害能力,基于物联网畛域业务特色打造畛域性技术栈,为开发者提供“一站式”残缺软件平台,无效升高开发门槛、缩短开发周期,可广泛应用于可穿戴设施、智能家居、车联网、LPWA 等畛域。

Huawei LiteOS 自开源社区公布以来,围绕物联网市场从技术、生态、解决方案、商用反对等多维度使能合作伙伴,构建开源的物联网生态, 目前曾经聚合了 50+ MCU 和解决方案合作伙伴,独特推出一批开源开发套件和行业解决方案,帮忙泛滥行业客户疾速的推出物联网终端和服务,客户涵盖抄表、停车、路灯、环保、共享单车、物流等泛滥行业,减速物联网产业倒退和行业数字化转型。

要害个性

1)低功耗框架:

LiteOS 是轻量级的物联网操作系统,最小内核尺寸仅为 6KB,具备疾速启动、低功耗等劣势,Tickless 机制显著升高传感器数据采集功耗。

2)OpenCPU 架构:

专为 LiteOS 小内核架构设计,满足硬件资源受限需要,比方 LPWA 场景下的水表、气表、车检器等,通过 MCU 和通信模组二合一的 OpenCPU 架构,显著升高终端体积和终端老本。

3)安全性设计:

构建低功耗平安传输机制,反对双向认证、FOTA 固件差分降级,DTLS/DTLS+ 等,构建低功耗平安传输机制。

4)端云互通组件:

LiteOS SDK 端云互通组件是终端对接到 IoT 云平台的重要组件,集成了 LwM2M、CoAP、MQTT、mbed TLS、LwIP 等全套 IoT 互联互通协定栈,大大减少开发周期,疾速入云。

5)SOTA 近程降级:

SOTA 近程降级,通过差分形式升高升级包的尺寸,更能适应低带宽网络环境和电池供电环境,通过特地优化差分合并算法,对 RAM 资源要求更少,满足海量低资源终端的降级诉求。

零碎反对比照

从官网的数据来看,HUAWEI LiteOS 反对硬件比拟鸿蒙还是丰盛一些,提供了更多内核案例和移植策略,从代码来看鸿蒙反对 ARM 类型更多,别离反对 Cortex- M 内核和 Cortex- A 内核,内核文件也别离有两个,即 liteos- a 和 liteos-m,例程别离有对应的反对;而 HUAWEI LiteOS 现阶段仅是对 Cortex- M 内核的反对,因为也是产品位置不同,预计将来也不会去适配 A 系列内核的解决吧,因为更好性能的需要,HarmonyOS 应该是更好的抉择。总结两个系统对硬件内核架构的反对状况。

因为产品定位不同,两个零碎的对内存的要也是十分大,HUAWEI LiteOS 因为其具备很高的剪裁个性,在硬件资源无限的时候的仅保留内核,能够剪裁到 6KB 的 ROM 以及耗费 2KB 的 RAM 资源,能够说对资源的耗费是低到肯定水平,而 HarmonyOS 为了保证系统性能要求,对硬件的资源则是 128K 的 ROM 及 2MB 的 RAM 的要求。

从资源耗费能够看出,HUAWEI LiteOS 更适宜资源需要低,利用要求不高,对老本功耗要求较高的利用场合;HarmonyOS 更适宜多媒体交互,须要 Js 减少开发效率的简单大利用的场合应用。

当初两个零碎都曾经开始在市场在开发者在进行学习和开发,那对其硬件的反对又是如何,总结如下表:

HarmonyOS 的开发板反对还是以华为自研的芯片为主,都是本身主打的 IOT 及视频解决芯片,这样开发速度快能够更快的利用到本人的设施上,验证系统可靠性;HUAWEI LiteOS 的开发板反对更多的是市场上支流的 ARM 开发学习板(STM 原生、小熊派、野火),这样的起因揣测是让开发者更好的做芯片切换和容易学些如何进行内核移植的工作内容,以便上手容易快捷。

内核文件比照

因为两者对 Cortex- M 的内核名字都是 liteos-m,因为我就比照了两者的内核 kernel 文件夹。

首先别离从各自的 git 库下载 master 下公布的最新文件

文件库地址

HarmonyOS-liteos-m:

https://gitee.com/openharmony…;

HUAWEI LiteOS:

https://gitee.com/LiteOS/Lite…;

从 gitee 上的库 kernel 文件夹下的文件的日期都是两个月前,阐明内核的公布工夫比拟统一,那文件的内容,别离比照文件目录,发现居然的类似,共有文件目录都是 /base;/extended;/include;HUAWEI LiteOS 下会有一个 Kconfig 和 Makefile 用于文件蕴含定义和 Kconfig 文件菜单生成;而 HarmonyOS 则是 BULD.gn 和 los_init.c 别离用于 IDE 的文件编译及内核文件剪辑初始化文件,文件性能根本移植,只是适配的编译环境不同。

阐明华为外部对文件命名和分类有着比拟统一的监控,同时两班人马的格调比拟统一,这样对工作交接体现比拟敌对。

从这里开始就有些不同,base 下的文件夹设置两者的区别较大。

右边是 HarmonyOS,左边是 HUAWEI LiteOS 的 base 文件下的文件分部,HarmonyOS 吧内核文件封装在 IPC 和 Core 两个文件中,而 HUAWEI LiteOS 则是放在的 base 文件下,比照文件发现,HarmonyOS 内核的文件名字大部分在 HUAWEI LiteOS base 文件夹下找到,但文件大小都不雷同,这次仅比照一个文件,task.c,看看两者的异同,发现根本没有应用过雷同的办法实现性能,所以不展现办法内容比照,比照一下各自提供了哪些办法用于 task 的操作接口。

右边是 HarmonyOS 提供 task 操作接口,左边是 HUAWEI LiteOS 提供 task 操作接口,都提供了 task 的初始化(建设),文件上下文查问,钩子函数的应用,同时 HarmonyOS 提供了所有 task 的信息获取,HUAWEI LiteOS 提供了 task 入口地址的获取的细节性能。

明天分享到这里,前面心愿能够分享各自零碎移植及应用。

本文分享自华为云社区《鸿蒙 LiteOS- M 内核与 HUAWEI LiteOS 内核比照》,原文作者:o0 龙龙 0o。

点击关注,第一工夫理解华为云陈腐技术~

退出移动版