本文部分内容参考:
鸿蒙系统学习笔记(一) 鸿蒙系统介绍
特此致谢。
一、简介及历史
1. 简介
鸿蒙操作系统(HarmonyOS)是华为公司研制的一款自主版权的操作系统。2019年8月9日,鸿蒙系统在华为开发者大会<HDC.2019>
上正式发布,华为会率先部署在智慧屏、车载终端、穿戴等智能终端上,未来会有越来越多的智能设备使用开源的鸿蒙OS
。HarmonyOS是一款基于微内核的“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备的能力。
HarmonyOS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构:第一层是内核,第二层是基础服务,第三层是程序框架 。可用于大屏、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓。HarmonyOS底层由鸿蒙微内核、Linux内核、Lite OS组成,未来将发展为完全的鸿蒙微内核架构。
- 对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。
- 对应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。
- 对设备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。
2. 发展历程
- [2012] 2012年华为开始在上海交通大学规划“鸿蒙”操作系统。
- [2019] 华为已经对100万部搭载有自研“鸿蒙”操作系统的手机进行了测试。
- [2019.5.17] 华为操作系统团队开发了其自主产权的“鸿蒙操作系统”。
- [2019.5.24] 注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日。
- [2019.8.9] 华为官方发布“鸿蒙操作系统”,并且宣布“鸿蒙操作系统”将开源。
二、系统特点
1. 分布架构
分布式架构首次用于终端OS,实现跨终端无缝协同体验。HarmonyOS的“分布式OS架构”和“分布式软总线技术”通过公共通信平台,分布式数据管理,分布式能力调度和虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。
2. 低延时+高性能IPC技术实现系统天生流畅
HarmonyOS通过使用确定时延引擎和高性能IPC两大技术解决现有系统性能不足的问题。确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,优先级高的任务资源将优先保障调度,应用响应时延降低25.7%。鸿蒙微内核结构小巧的特性使IPC(进程间通信)性能大大提高,进程通信效率较现有系统提升5倍。
3. 基于微内核架构重塑终端设备可信安全
HarmonyOS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。微内核只提供最基础的服务,比如多进程调度和多进程通信等。
HarmonyOS将微内核技术应用于可信执行环境(TEE),通过形式化方法,重塑可信安全。形式化方法是利用数学方法,从源头验证系统正确,无漏洞的有效手段。传统验证方法如功能验证,模拟攻击等只能在选择的有限场景进行验证,而形式化方法可通过数据模型验证所有软件运行路径。 鸿蒙OS首次将形式化方法用于终端TEE,显著提升安全等级。同时由于鸿蒙OS微内核的代码量只有Linux宏内核的千分之一,其受攻击几率也大幅降低。
4. 通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享
HarmonyOS凭借多终端开发IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态。华为方舟编译器是首个取代Android虚拟机模式的静态编译器,可供开发者在开发环境中一次性将高级语言编译为机器码。此外,方舟编译器未来将支持多语言统一编译,可大幅提高开发效率。
三、系统构成与层次架构
鸿蒙操作系统的构成包括:安卓开放平台的开源代码 - GMS - 安卓UI + HMS + 鸿蒙UI + 分布式软总线 + 以Ability为核心的应用开发框架。鸿蒙操作系统解决了设备与设备之间的连接问题,通过软总线将设备连接在一起。在应用开发时,只需要写很少的代码就可以调用第三方设备,使得设备之间的连接更加方便。从使用者的角度来看,华为鸿蒙操作系统将手机变成了一个超控控制终端,可以调用手机本身的硬件和外部的硬件,实现更多的功能。
HarmonyOS整体采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统” -> “子系统” -> “功能 / 模块”逐级展开。在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。鸿蒙操作系统的层次化架构如下图所示:
更多内容请看下回。