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摄像头视频采集。

总结

相关推荐
AI_零食2 分钟前
开源鸿蒙跨平台Flutter开发:手账记事模板库应用
学习·flutter·华为·开源·harmonyos·鸿蒙
提子拌饭1336 分钟前
开源鸿蒙跨平台Flutter开发:家庭影像传承系统
flutter·华为·开源·harmonyos·鸿蒙
HwJack208 分钟前
HarmonyOS NDK 开发:冲破 ArkUI 性能桎梏的“降维打击”
华为·harmonyos
李李李勃谦13 分钟前
Flutter 框架跨平台鸿蒙开发 - 手工作品展示
flutter·华为·harmonyos
左手厨刀右手茼蒿15 分钟前
Flutter 三方库 klutter 的鸿蒙化适配指南 - 掌握 Kotlin Multiplatform (KMP) 互操作技术、助力鸿蒙应用构建极致复用且高性能的跨端业务逻辑共享体系
flutter·harmonyos·鸿蒙·openharmony
世人万千丶16 分钟前
开源鸿蒙跨平台Flutter开发:古诗词学习应用
学习·flutter·华为·开源·harmonyos·鸿蒙
2501_9444484719 分钟前
数据可视化 Kotlin KMP OpenHarmony图表生成
开发语言·信息可视化·harmonyos
枫叶丹429 分钟前
【HarmonyOS 6.0】ArkWeb 深度解读:getPageOffset20 与网页滚动偏移量获取能力的演进
开发语言·华为·harmonyos
独特的螺狮粉29 分钟前
开源鸿蒙跨平台Flutter开发:室内探险游戏应用
开发语言·flutter·游戏·华为·开源·harmonyos·鸿蒙
独特的螺狮粉1 小时前
开源鸿蒙跨平台Flutter开发:喝水时间提醒应用
开发语言·flutter·华为·信息可视化·开源·harmonyos·鸿蒙