HarmonyOS架构详解

介绍

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统, 它有如下核心优势

  1. 万物互联

HarmonyOS基于同一套系统能力、适配多种终端形态的分布式理念。支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。

  1. 一次开发,多端部署(跨平台)

一套代码工程,一次开发上架,多端按需部署,为用户呈现多设备统一且卓越的使用体验。

3. 自由流转

跨设备的分布式操作,打破设备界限,多设备联动,为你革新全场景协同体验。 典型场景有:媒体播控、应用接续、跨设备拖拽、跨设备剪贴板。

HarmonyOS分层架构

HarmonyOS采用分层架构,从上到下依次为内核层,系统服务层,框架层和应用层

HarmonyOS分层架构图

内核层

HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。

分成两个部分

  1. 内核子系统

    采用多内核(如Linux内核和LiteOS等)设计, 支持针对不同资源受限设备选用合适的内核,KAL(内核抽象层)通过屏蔽多内核差异,为上层提供内核的统一基础能力, 包括进程/线程管理、内存管理、文件系统、网络管理和外围设备管理

  2. 驱动子系统

    HDF是系统硬件生态开放的基础, 提供统一的外围设备访问能力和驱动开发、管理框架

系统服务层

是HarmonyOS的核心能力集, 该层包含以下几个部分

  1. 系统能力子系统

    为分布式App在HarmonyOS多设备上运行、调度、迁移等操作提供基础能力。该子系统由分布式软总线、分布式数据管理、分布式任务调度、以及公共基础库、多模输入、图形、安全、AI、方舟编译运行时等子系统组成

  2. 基础软件服务子系统

    提供公共通用的软件服务,由事件通知、电话、多媒体、DFX、MSDP(Multimodel Sensor Data Platform)等子系统组成

  3. 增强软件服务子系统

    提供不同设备的, 差异化的能力增强软件服务,由智慧屏、穿戴专用业务、loT专有业务等子系统组成

  4. 硬件服务子系统

    提供硬件服务, 由位置服务,IAM(Identity and Access Management, 身份和访问管理), 穿戴专有硬件服务,LOT专有硬件服务等子系统组成

框架层

App与系统交互的桥梁, 为App开发提供JavaScript、C、C++和ArkTS等多语言的开发框架, 以及UI框架,Ability框架等开放API

应用层

包含两种App

  1. 系统App

    系统的一部分, 以App的形式向用户和第三方App提供系统服务能力。

  2. 第三方App

    是HarmonyOS生态丰富的基础,就是鸿蒙应用商店上成千上万有丰富多彩的App

App由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。

  • FA有UI界面,提供与用户交互的能力;
  • PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象

视频通话App的组成情况

有一个作为视频通话的主界面FA,和若干个PA组成。

FA提供UI界面用于与用户进行交互

PA1用于摄像头视频采集,PA2用于视频美颜处理,PA3用于超级夜景处理。

这些FA、PA可以按需下载、加载和运行

不同设备的不同表现

当手机下载该App时,将同时拥有FA主界面、PA1摄像头视频采集、PA2视频美颜处理、PA3超级夜景处理

当智慧屏下载该应用时,如果智慧屏不支持视频美颜处理、超级夜景处理功能时,则只会下载FA主界面、PA1摄像头视频采集。

总结

相关推荐
zhanshuo6 小时前
构建可扩展的状态系统:基于 ArkTS 的模块化状态管理设计与实现
harmonyos
zhanshuo6 小时前
ArkTS 模块通信全解析:用事件总线实现页面消息联动
harmonyos
codefish79810 小时前
鸿蒙开发学习之路:从入门到实践的全面指南
harmonyos
yrjw16 小时前
一款基于react-native harmonyOS 封装的【文档】文件预览查看开源库(基于Harmony 原生文件预览服务进行封装)
harmonyos
小徐不徐说1 天前
每日一算:华为-批萨分配问题
数据结构·c++·算法·leetcode·华为·动态规划·后端开发
搜狐技术产品小编20231 天前
搜狐新闻直播间适配HarmonyOs实现点赞动画
华为·harmonyos
zhanshuo2 天前
ArkUI 玩转水平滑动视图:超全实战教程与项目应用解析
harmonyos·arkui
zhanshuo2 天前
ArkUI Canvas 实战:快速绘制柱状图图表组件
harmonyos·arkui
zhanshuo2 天前
手把手教你用 ArkUI 写出高性能分页列表:List + onScroll 实战解析
harmonyos
zhanshuo2 天前
深入解析 ArkUI 触摸事件机制:从点击到滑动的开发全流程
harmonyos