本文首发自公众号:凌云时刻
注:本文作者胡俊锋(崮德),阿里云智能资深技术专家,领有将近 20 年的嵌入式物联网开发设计教训,精通蓝牙、RTOS、Linux、微内核。2017 年退出阿里巴巴,负责蓝牙 mesh、AliOS Things 和 HaaS 物联网设施云端一体 Low-Code 开发框架。
6 月 2 日华为正式公布了 HarmonyOS 2.0,一时间网上开展了各种探讨,有大赞华为为国产 OS 抹黑添彩的,有说还是在用安卓套壳的,我也来谈谈我的一些认识。
HarmonyOS2.0 个性介绍
注:图源网络
本次鸿蒙发布会针对 HarmonyOS2.0 次要公布了 6 个个性,别离是:
- One as All,All as One:采纳了全栈解耦的架构,反对的设施 RAM 大小从 128KB 到 GB 级别,比方风扇(KB 级别),手表(MB 级别),手机(GB 级别),都只须要一个操作系统(HarmonyOS 2.0)。
- 分布式技术:参考计算机硬件总线,在 1 +8+ N 设施间搭建一条“有形”的分布式软总线,具备自发现、自组网、高带宽、低时延的特点,依据须要自由组合硬件。
- 对立的控制中心:一个界面管制所有分布式软总线上挂载设施的对立的控制中心,且可用在不同的设施上,这样就能够在手机甚至手表上对立管制比方家里的各种电器了。
- 超级终端:将多个终端(比方手机和电视)组合成超级终端,通过对立的控制中心,十分不便的就能够把手机和电视组合成超级终端,手机就能够应用电视的显示屏了。
- 分布式编程框架:提出分布式编程框架,将设施各种能力形象成原子化服务,代替手机 APP,以卡片的模式实现服务在设施间流转,且免装置。
- 全栈优化:通过全栈优化,提供更好的性能体验,优化点包含存储,显示等。
总的来看,核心思想是为了在万物互联、万物智能时代,解决 连贯简单、操控繁琐、体验割裂 三大问题,并且从设施为核心转换为 以内容为核心(内容在各设施间自在流转)。
HarmonyOS 总体架构
注:图源网络
这个是 HarmonyOS 的总体架构,从下向上别离是内核层,零碎服务层,框架层和应用层。
在内核层,HarmonyOS 目前是有 Linux Kernel(次要用在手机),LiteOS(用在手表、风扇等畛域)两个内核,尽管华为声称 HarmonyOS 是一套操作系统,实质上看来还是两套。但华为的野心必定不止于此,一方面在零碎服务层的需要侧,华为必定会制订对于内核的规范,这样能够包含更多的内核进来,另一方面,华为之前宣传的微内核,可能也会是用来对立内核的一个方向,是否能对立,咱们继续关注。
在零碎服务层,华为扩大了分布式的各种技术,比方分布式软总线,分布式数据管理和分布式任务调度,并在此基础上提出了各种零碎能力,分成 4 大类:零碎根本能力子系统集,根底软件服务子系统集,加强软件服务子系统集和硬件服务子系统集。其中的最重要的分布式相干技术是在零碎根本能力子系统集中。
框架层次要定义了利用开发框架和 UI 开发框架。在 UI 开发框架中,为了解决用户体验割裂的问题,对立了 UI 的跨屏交互;在利用开发框架中,又提出 FA/PA 的原子能力,应用卡片式即用即走的技术,突破了利用市场的格局,升高了装置利用的获客老本。
应用层次要是针对不同场景的不同利用。不再赘述。
HarmonyOS 与安卓的关系
注:图源网络
一言以蔽之 HarmonyOS 与安卓关系为:
HarmonyOS(手机端)= OpenHarmony + AOSP + HMS
手机侧从安卓降级鸿蒙之后,AOSP 残缺保留(会在 JVM 虚拟机、文件系统等方面做一些优化,体现鸿蒙的“快”),也就残缺兼容原有的安卓 APP,不须要进行 APP 降级。手机侧鸿蒙零碎蕴含残缺的安卓,所以有“安卓套壳”之嫌。这也是生态兼容性的无奈之举,只有如图中鸿蒙 APP 的数量越来越多,齐全替换安卓 APP 的时候,也就不再有套壳的必要了。
OpenHarmony 是华为声称鸿蒙零碎开源后建设的开源我的项目,热度较高,包含了本次公布的各种个性代码,华为对生态的器重态度可见一斑。OpenHarmony 中开源了 LiteOS 的两个版本,M 和 A 版本,对应芯片的 Cortex M 和 A 系列。实践上能够笼罩 4GB 以下内存的设施。目前用在智能家居、手表等弱交互设施上。
华为提出了一整套鸿蒙 API,将全副的安卓 API 进行封装,并减少了诸如分布式数据同步、分布式 RPC 之类的接口。对于一个具体的 APP,将来可能呈现安卓版与鸿蒙版,两者都能够运行在鸿蒙零碎上,但鸿蒙版 APP 无奈运行在安卓之上。
鸿蒙配套的 HMS 并未开源,其会建设相似 google play 这样的“鸿蒙利用商店”。这是国内其余手机厂家如果要切换鸿蒙的时候极不违心看到的,所以 HMS 目前不强制其余手机厂家采纳,这部分博弈后果待继续察看。
总的来说,华为的“诗和远方”是从上至下逐层替换安卓,但“眼前的苟且”是齐全兼容安卓现有生态所有 APP,同时新增反对鸿蒙分布式新个性。
接下来,让咱们看看上图中的“分布式”的技术细节。
HarmonyOS 核心技术:分布式技术
注:图源网络
OpenHarmony 最外围和最底层的技术是分布式技术,从以下几点能够看出:
- 从宣传角度,HarmonyOS 重点宣传的是各种场景化分布式能力。
- 从品牌角度,HarmonyOS 生态品牌是 HarmonyOS Connect,Connect 强调的就是分布式的互联互通。
- 从技术角度,HarmonyOS 和安卓最次要的技术区别就是分布式能力。
分布式技术的外围是分布式软总线,分布式软总线的技术指标是让使用者像应用硬件总线一样的体验,不便的自由组合硬件设施。
软总线开发上强调极简。次要包含两类接口,一类是会话建设,另一类是数据传输。用户调用几个 API 就可能在高带宽,高牢靠的数据通路上传输数据。
核心技术包含了多跳自组网,多协定混合组网和极简传输协定。
- 多跳自组网实现局域网内设施的自组织网络构建,混合组网是用于实现 Wi-Fi 和蓝牙等多种不同连贯形式的混合组网。不同网络连接形式之间会有轻量级的网关做好数据转换。
- 极简传输协定将 5 层协定简化为 1 层,简化协定层级,缩小层间交互开销。针对性能,华为在软硬联合局部做了十分多的优化。保障了分布式软总线的各项性能指标。而 HarmonyOS 声称的高吞吐和高容错,据剖析,其实是基于 Wi-Fi6 等最新技术测试的数据。
在分布式软总线根底上,构建了分布式核心技术能力,分布式数据管理、分布式任务调度和分布式平安:
- 分布式数据管理,提供了如文件系统,数据库等服务。在分布式软总线高速通道根底上,优化各种文件缓存和预取策略,取得比 Samba(一种局域网资源共享协定)更好的性能。
- 分布式任务调度,反对跨设施的利用近程启动,调用及迁徙等操作。还是基于底层高速的分布式软总线,及调度策略,实现了高效的 RPC(近程调度)。通过这个能力,使用者能够调用局域网内不同智能硬件的能力,如屏幕,摄像头,算力等。
- 分布式平安,实现了点到点设施连贯时的互信认证和设施群组治理能力,利用签名和验签,零碎权限等能力。
华为为什么重兵 HarmonyOS 及如何做的?
注:图源网络
在我看来,华为之所以重兵 HarmonyOS,外围出发点在于为本人的消费者业务服务,毕竟华为未然是一家硬件品牌公司,消费者业务产品线从手机到平板,再到电视、手表、音箱等,逐步扩张的产品线须要一套操作系统来对立,只不过是借着万物互联的趋势,提出了全场景“超级终端”的构想,简言之就是 HarmonyOS 是为“超级终端”里各个单品打造的,这也是华为始终声称 HarmonyOS 与 Android 的定位不同之所在。
技术上,后面也已提到,HarmonyOS 以分布式技术为外围,用来解决全场景“超级终端”所面临的连贯简单、操控繁琐、体验割裂三大问题。
生态方面,华为也心愿借着 HarmonyOS,从新打造三大生态:利用市场生态、HarmonyOS Connect IoT 设施连贯生态、开源操作系统生态。
总结
HarmonyOS 的劣势就是其 1 +8+ N 策略。HarmonyOS 在华为瞄准下一代超级入口打造操作系统打磨分布式核心技术,解决连贯简单、操控繁琐、体验割裂三大问题;以手机为外围,围绕智慧出行、智能家居、静止衰弱、智慧办公、影音娱乐 5 大场景,构建全场景的“超级终端”的一致性体验;并且打造三大生态(利用市场生态、HarmonyOS Connect IoT 设施连贯生态、开源操作系统生态)。往年规模预计达到 3 亿个(在网手机约 6 亿可反对降级到鸿蒙 OS),同时也持续兼容现有安卓 APP 生态。但其劣势就是角色冲突,既是运动员又是裁判。
如果从“四看”来点评 HarmonyOS 的话:
- 看“本人”:鸿蒙 OS 成败关键在于华为手机的倒退?手机业务的死亡是否反而会使鸿蒙 OS 凤凰涅磐?比方最近的光荣手机,从华为剥离后,市场占有率从 3% 回到了 9.5%,实现了涅磐新生。
- 看竞对:小米、OV 等手机厂商外围是要掌控 UI 交互、利用市场散发、以及 IoT 设施连贯生态,很可能不会间接采纳鸿蒙 OS。
- 看行业:比照谷歌,手机操作系统是一个生态之战,须要花大价格去培养生态,是先赔钱后赚钱的模式,要看华为如何放弃本人的短期利益。
- 看市场:在 2C 生产互联网畛域,全场景“超级终端”的体验是十分好的体验,这个良好的体验肯定是将来的发展趋势。