OpenHarmony是一种国产开源实时操作系统,是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,OpenHarmony技术架构如下所示。在不同场景下,支持根据实际需求裁剪某些非必要的组件。
系统服务层
系统服务层是OpenHarmony的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:
l 系统基本能力子系统集:为分布式应用在多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、公共基础库、多模输入、图形、安全、AI等子系统组成。
l 基础软件服务子系统集:提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 等子系统组成。
l 增强软件服务子系统集:提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。
l 硬件服务子系统集:提供硬件服务,由位置服务、用户IAM、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。
根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。
框架层
框架层为应用开发提供了C/C++/JS等多语言的用户程序框架和Ability框架,适用于JS语言的ArkUI框架,以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,设备支持的API也会有所不同。
应用层
应用层包括系统应用和第三方非系统应用。应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。
内核是操作系统中最核心和基础的部分,为操作系统的诸多特性和功能提供最基础的支持。OpenHarmony的一个非常独特的设计就是多内核架构,技术非常成熟的Linux内核和华为最擅长且独有的LiteOS内核。LiteOS内核适用于嵌入式设备及资源受限设备,具有小体积、高性能、低功耗等特征,基于linux kernel演进的linux内核适用于标准系统。
LiteOS内核分为LiteOS-m和LiteOS-a两个版本,分别对应于ARM架构的Cortex-m核心和Cortex-a核心。LiteOS-m的设计目标是支持极小设备的运行,其目标设备的ROM/RAM空间一般低于1MiB,多数小于128KiB。
应用于轻量级内核的LiteOS-m整体架构比较简单,底层支持的内核目前只有Cortex-M和RISC-V系列,抽象出统一的硬件架构。以该硬件为基础,加入OS内核,并将此抽象出来适配到CMSIS和POSIX两个标准上,在硬件层编写的程序,就可以具有良好的移植性和可扩展性。
与国外实时操作系统相比,OpenHarmony在任务调度机制、硬件支持程度、开发费用、稳定性等方面都表现优异。
l 目前的实时操作系统主要用于地面场景,与其相比航天应用场景具有其特殊性,包括真空、高低温、空间高能粒子等都对系统的性能与可靠性有较大影响。OpenHarmony针对航天场景进行了优化,大幅提高了操作系统及各单机的可靠性。
l 微纳卫星大量使用了单片机等嵌入式系统,由于体积、重量与功耗的限制,普通的实时操作系统无法直接用于飞行任务。OpenHarmony在移植工作的过程中针对内核体积进行了优化,在保留核心功能、实时性与可靠性的基础上大幅降低了内核体积从而确保适配性,核心代码体量可以裁剪到35kB。
l 与闭源操作系统相比,OpenHarmony的开发团队可以看到核心的系统代码,因此在方便进行二次开发的同时也排除了操作系统内部人为嵌入恶意程序的可能。
l ……
OpenHarmony与国外实时操作系统的对比
1.一体式姿态测量单元(AMU)
利用OpenHarmony,开发了一种一体式姿态测量单元(AMU),该单机内部集成太阳敏感器、三轴陀螺仪、三轴磁强计、温度传感器以及高性能处理器。可以用于实时测量和解算航天器的三轴姿态信息,并提供高性能与高可靠的姿态信息输出。
一体式姿态测量单元(AMU)
2.高性能磁强计
磁强计是一种用来测量所在位置的磁场大小及方向的仪器,可以广泛用于航空航天、工业、农业、海洋与气象等领域。在磁强计中移植OpenHarmony,开发了一种高性能三轴矢量型敏感器,该单机具有高分辨率、低功耗、抗干扰能力强、动态范围宽等特点。
高性能磁强计
3.高性能太阳敏感器
太阳敏感器可以测量卫星相对于太阳的姿态信息,通过敏感太阳矢量的方位来确定太阳矢量在星体坐标系中的方位,从而获取航天器相对于太阳方位信息的姿态。在太阳敏感器中移植OpenHarmony,开发了一种高性能太阳敏感器,该单机具有包络小、功耗低、精度高的特点。
高性能太阳敏感器
l 2022.7,搭载OpenHarmony的上海微小卫星电磁双星发射;
l 2023.1,“OpenHarmony微纳卫星操作系统研究”获得国家重大项目支持;
l 2023.1,搭载OpenHarmony的九天微星3U金紫荆系列双星发射;
l 2023.3,完成国产处理器的移植与适配;
l 2023.4,搭载OpenHarmony的“爱太空科学号卫星”发射;
l 2023.5,搭载OpenHarmony的大连理工12U“连理”卫星发射;
l ……
12U“连理”卫星