一、HarmonyOS系统概述 1、华为HarmonyOS系统(英文:HUAWEI HarmonyOS) (1)该系统是一款面向未来、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的面向全场景的分布式操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现极速发现、极速连接、硬件互助、资源共享,用合适的设备提供场景体验。
(2)HarmonyOS官网:华为鸿蒙HarmonyOS智能终端操作系统官网 | 应用设备分布式开发者生态
(3)在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备
2、鸿蒙系统的三大特征 (1)硬件互助,资源共享(用户消费者):搭载鸿蒙设备间在系统层面融为一体、形成超级终端;用户全场景体验
(2)一次开发,多端部署(应用开发者):HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用
(3)统一OS,弹性部署(设备开发者):HarmonyOS采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求
3、什么是1+8+N? 1:手机phone,是主入口,以一部手机为核心,来展开各个功能
8:智能设备:PC、平板Tablet、智慧屏vision、车机car、智能穿戴wearable、轻量级穿戴liteWearable、VR眼镜、耳机、智能音箱8个华为自研领域产品
N:全场景:泛IoT硬件构成的华为HiLink生态,可涉及家居、办公、出行、运动、影音娱乐场合
三者关系如下图:
4、鸿蒙支持的API语言 (1)JAVA (2)XML(Extensible Markup Language) (3)C/C++ (4)JS(JavaScript) (5)CSS (6)HML(HarmyOS Markup Language)
二、技术架构体系 1、层次维度 应用层、框架层、系统服务层、内核层
(1)内核层
①内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核
②内核抽象层:(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等
③驱动子系统:硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架
KAL和HDF:统一了对外或对内的OS和各种外设接口形式,硬件对于上层来说是透明的
(2)系统服务层
①系统基本能力子系统集:为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中,方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库,也为使用方舟编译器静态化的Java程序(即应用程序或框架层中使用Java语言开发的部分)提供运行时
②基础软件服务子系统集:为HarmonyOS提供公共的、通用的软件服务,由事件通知、电话、多媒体、DFX(Design For X) 、MSDP&DV等子系统组成
③增强软件服务子系统集:为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务,由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成
④硬件服务子系统集:为HarmonyOS提供硬件服务,由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成
根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪
(3)框架层
①用户程序框架:支持Java/C/C++/JS/TS多语言开发
②Ability框架
③UI框架【用户交互界面】:Java UI和JS UI
三、技术特性/关键技术 1、”硬件互助,资源共享“,鸿蒙系统特性的关键技术:分布式开发 其四大特性:分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度
(1)分布式软总线(不同设备上不同应用 互联互通-数据通信)【基础、重要】
①分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议
②智能家居场景:在烹饪时,手机可以通过碰一碰和烤箱连接,并将自动按照菜谱设置烹调参数,控制烤箱来制作菜肴。与此类似,料理机、油烟机、空气净化器、空调、灯、窗帘等都可以在手机端显示并通过手机控制。设备之间即连即用,无需繁琐的配置
③多屏联动课堂:老师通过智慧屏授课,与学生开展互动,营造课堂氛围;学生通过平板完成课程学习和随堂问答。统一、全连接的逻辑网络确保了传输通道的高带宽、低时延、高可靠
(2)分布式设备虚拟化(同一个应用,借助他人的硬件设备能力)
①分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端。针对不同类型的任务,为用户匹配并选择能力合适的执行硬件,让业务连续地在不同设备间流转,充分发挥不同设备的能力优势,如显示能力、摄像能力、音频能力、交互能力以及传感器能力等
②视频通话场景: 在做家务时接听视频电话,可以将手机与智慧屏连接,并将智慧屏的屏幕、摄像头与音箱虚拟化为本地资源,替代手机自身的屏幕、摄像头、听筒与扬声器,实现一边做家务、一边通过智慧屏和音箱来视频通话。
③游戏场景: 在智慧屏上玩游戏时,可以将手机虚拟化为遥控器,借助手机的重力传感器、加速度传感器、触控能力,为玩家提供更便捷、更流畅的游戏体验。
(3)分布式数据管理(同一套数据集,不同设备不同应用间数据或文件共享)
①分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,跨设备的数据处理如同本地数据处理一样方便快捷,让开发者能够轻松实现全场景、多设备下的数据存储、共享和访问,为打造一致、流畅的用户体验创造了基础条件
②协同办公场景: 将手机上的文档投屏到智慧屏,在智慧屏上对文档执行翻页、缩放、涂鸦等操作,文档的最新状态可以在手机上同步显示
③照片分享场景: 出游时,使用手机拍摄的照片,可以在登录了同帐号的其他设备,比如平板上更方便地浏览、收藏、保存或编辑,也可以通过家中的智慧屏上同家人一起分享记录下的快乐瞬间
(4)分布式任务调度(同一应用,运行在不同设备的同一应用)
①分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务
②导航场景:如果用户驾车出行,上车前,在手机上规划好导航路线;上车后,导航自动迁移到车机和车载音箱;下车后,导航自动迁移回手机。如果用户骑车出行,在手机上规划好导航路线,骑行时手表可以接续导航
③外卖场景:在手机上点外卖后,可以将订单信息迁移到手表上,随时查看外卖的配送状态
2、”一次开发,多端部署“(应用开发者) (1)HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率
(2)UI框架支持使用Java、JS、TS语言进行开发,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。
(3)采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力
3、”统一OS,弹性部署“(设备开发者) (1)HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛
(2)支持各组件的选择(组件可有可无):根据硬件的形态和需求,可以选择所需的组件
(3)支持组件内功能集的配置(组件可大可小):根据硬件的资源情况和功能需求,可以选择配置组件中的功能集。例如,选择配置图形框架组件中的部分控件
(4)支持组件间依赖的关联(平台可大可小):根据编译链关系,可以自动生成组件化的依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等
标签:系统,硬件,HarmonyOS,组件,分布式,子系统,设备 From: https://blog.51cto.com/u_16037521/7161644