鸿蒙系统随记(一)鸿蒙系统概述:系统定义,系统框架和特性,系统安全
应用开发分三种情况:
1.通用开发:各设备通用。
2.原子化服务开发:免安装应用,可拆可选的专用服务。
3.设备差异化开发:设备专有特性开发
使用HUAWEI DevEch Studio(IDE)作为全场景设备的开发工具。
1.通用开发
通用开发需要了解:
1.鸿蒙系统的定位,架构和技术特性 2.应用开发的基础概念和知识 3.开发环境,开发工具 4.应用重要组成:ability 5.系统提供两大类UI:java UI和方舟UI(js/ts ui). 6.多种业务功能:媒体,安全,AI,网络,设备管理,数据管理,线程,IDL. 7.调试:真机,模拟器 8.发布方式
1.1.1.鸿蒙的定位
面向万物互联的时代的分布式操作系统。
适配多种设备(手机、平板,穿戴设备,智慧屏等)的分布式理念,
提供全场景(移动办公,运动健康,社交通信,媒体娱乐)服务。
鸿蒙系统三大特性:
1.对消费者,所有搭载系统的设备形成一个超级终端,设备间能力互助数据共享。 2.对应用开发,分布式理念,一次开发,多端部署,屏蔽设备差异,开发更聚焦业务。 3.对设备开发,组件化灵活裁剪,统一系统,弹性部署。
1.1.2.技术架构:
分层设计:内核层,系统服务层,框架层,应用层
1.1.2.1.内核层:
内核子系统:内核抽象层屏蔽对多内核支持的差异,
对上提供进程线程,内存,文件,网络,外设管理等内核功能
驱动子系统:硬件驱动框架对外设提供统一的访问,驱动开发和管理的能力
1.1.2.2.系统服务层:
是鸿蒙系统的核心能力,通过框架层对应用层提供能力
1.系统基本能力子系统集: 为分布式应用在多设备提供运行调度迁移的基本能力, 包括的子系统:分布式软件总线,分布式数据管理,分布式调度,方舟多语言运行时候,公共基础库,多模输入,图形,安全,AI等。 2.基础软件服务子系统集: 为鸿蒙系统提供公共的通用服务, 由事件通知,电话,多媒体,DFX,移动感知开发平台,设备虚拟化等子系统组成。 3.增强软件服务子系统集: 针对不同设备的差异化能力提供增加服务, 由智慧屏专有业务,穿戴设备专有业务,IOT等子系统组成。 4.硬件服务子系统集: 为系统提供硬件服务, 由位置服务,生物识别,穿戴专有硬件服务,IOT专有硬件服务等子系统组成。, 以上子系统集内部可以按系统粒度裁剪,子系统内部还能按功能粒度裁剪,满足不同设备的部署环境
1.1.2.3.框架层:
为应用开发提供了多语言(java/c/c++/js/ts)的程序框架,ability框架和UI框架
以及软硬件服务的对外多语言框架api。
1.1.2.3.应用层:
鸿蒙应用由FA(feature ability,有UI界面的)和PA(particle ability,无界面的后台服务)组成。
1.1.3.三大技术特性:
硬件互助,资源共享
一次开发,多端部署
统一系统,弹性部署
1.1.3.1.硬件互助,资源共享
依赖的技术:分布式软总线/设备虚拟化/数据管理/任务调度等。
分布式软总线:
为多设备提供分布式通信能力,开发者聚焦业务,无需关注设备链接组网方式和底层协议。
比如:手机碰一下料理机就链接好让他做料理
分布式设备虚拟化:
实现不同设备的资源融合,设备管理,数据管理,多设备虚拟成一个超级终端。
比如手机视频通话,显示可以用智惠屏,采集用独立摄像头,播音用外置音响。
分布式数据管理:
基于分布式软总线的链接能力,用户数据和应用程序/单一设备分离,所有设备对数据的存储,访问一致效果。
比如,手机上的数据投影到智慧屏,智慧屏修改同步手机,其他设备相同账号也能一致。
分布式任务调度:
基于分布式软总线,分布式数据管理,分布式profile等,
对跨设备的应用进行统一的服务管理机制(注册/发现/同步/调用),
对应用实现远程启动,调用,链接,迁移,根据设备运行状态和用户意图,选择合适的设备运行任务。 比如:骑行把手机上的导航迁移到手表上继续嗨。
个人理解:
简单来说,所有鸿蒙系统的设备组成一个整体,
真实设备之上通过虚拟设备屏蔽差异和统一使用设备,
通过软总线来统一链接各设备,
各设备的数据交给数据管理来做统一管理
通过任务调度来管理所有应用。
1.1.3.2.一次开发多端部署
提供应用框架,ability框架,ui框架让多设备的业务逻辑和界面逻辑复用。
ui框架支持多语言在不同设备提供多态控件,多种响应式布局适配不同屏幕。
1.1.3.3.统一系统,弹性部署
通过组件化,小型化按需适配不同硬件资源和功能需求,还能通过编译链的关系自动生成组件化的依赖关系。
即
组件可有可无:按需选择组件
组件可大可小:图形组件按需选择控件
平台可大可小:图形框架组件编译自动选择依赖的图形引擎组件。
1.1.4.安全性
如何保证:正确的人,通过正确的设备,使用正确的数据。
1.1.4.1.通过多端协同互助保证正确的人,具体三方面:
1.零信任,用户跨设备或者高安全等级操作需要安全认证。 2.多因素融合认证,不同设备的同一个用户的凭证关联起来作为一个用户的认证。 3.让高安全等级的设备协助低安全等级的设备验证。
1.1.4.2.保证用户数据在安全的设备上运行也从三方面:
1.安全启动: 设备厂商的镜像包不被替换,各虚拟设备运行的系统固件和应用程序是完整的。 2.可信执行环境: 基于数学可证明的形式化开发和验证的
设备可信的TEE(Trusted Execution Environment)微内核运行环境,
获得了商用OS内核CC EAL5+的认证评级。 3.设备证书认证: 为具体可信执行环境的设备
预置PKI(Public Key Infrastructure)设备证书,
证书在产线进行预置,证书私钥保存在TEE环境中,
并只在TEE环境中进行使用,
传输敏感数据先用证书对设备环境进行验证。
1.1.4.3.正确使用数据五个方面:
数据的全生命周期进行保护。 1.数据的生成:根据相应规范对数据进行分类分级提供安全策略。 2.数据的存储:不同等级数据存储在不同安全防范分区。 3.数据的使用:鸿蒙系统通过硬件为设备可信任的执行环境,数据只在可信任的虚拟设备进行运行。 4.数据的传输:以设备凭证认证设备的基础上,建立加密数据通道传输数据。 5.数据的销毁:数据都是基于秘钥的,销毁秘钥即销毁数据。