简介
与Android的体系结构不同, 鸿蒙系统更加强调灵活性, 旨在
- 利用同一套系统,适配手机、电视、平板、智能穿戴设备、等终端。
主要通过框架层去实现,提供用户程序框架、Ability框架以及UI框架,
- 硬件互助,资源共享
为了实现以上的目的,鸿蒙系统主要依赖于以下几种技术:
-
分布式软总线
-
分布式设备虚拟化
-
分布式数据管理
-
分布式任务调度
- 统一OS,弹性部署(可剪裁)
鸿蒙的架构大致如下所示:
image与Android的区别
据维基百科显示:
华为声称HarmonyOS是基于微内核的分布式OS,与Android和iOS完全不同。[25]但是,后来透露,HarmonyOS 1.0基于Android 9.0“ Pie”,并支持Android (ADB)。
同样发现HarmonyOS 2.0是从Android 10派生的,Ars Technica发现智能手机beta版只是EMUI 10的重新命名版本,所有对Android的引用都由“ HarmonyOS”代替,而“ DevEco Studio” SDK很大程度上基于与Android Studio软件位于同一核心IntelliJ IDEA组件上。
启动流程
- Android
初始化,启动linux内核
-> 启动init进程
-> 调用startVM开启dalvik虚拟机,加载java核心类startReg注册JNI方法,启动Android Runtime,启动Zygote进程
-> 注册socket,等待ActivityManagerService创建新进程的请求
image- 鸿蒙
软总线源码解析
image分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。分布式软总线示意图如上图所示。
为实现以上的功能,鸿蒙底层的代码架构如下:
image- discover:提供基于 COAP 协议的设备发现机制;
- authmanager:提供设备认证机制和知识库管理功能;
- trans_service:提供身份验证和数据传输通道;
- os_adapter:检测运行设备性能,决定部分功能是否执行。
影响
作为使用者,其实短时间内很难感受到鸿蒙与安卓系统的功能性差异(除了现在部分使用GMS去Google Store下载无广告版app的人)等待其完全开源后,各大手机厂商未来可能基于其做魔改,进而抛弃之前的Android系统。这一招釜底抽薪,估计才是HW的野心所在。至于微内核,分布式和高适应性,至少从现在的测试数据上来看,似乎没有太大的区别。
纵观历史,其实早在2012年,阿里云已经搞过了YunOS(alios),腾讯也搞过Tencent OS,甚至在更早的时候,Windows的 Windows phone,凭借着其直接编译成机器码,以及系统资源消耗较少的优势,也曾在市场上占有一席之地但因为不向下兼容、缺乏长期战略,生态不好等原因,逐渐退出了大众的视野。再回过头来看如今的鸿蒙,其火起来了的最主要原因,个人认为还是政策问题(dddd),但是一项技术是否真的能够引起变革,这个谁也说不准,只能交给接下来的时间。
参考资料
https://device.harmonyos.com/cn/docs/develop/kernel/oem_kernal_user_process-0000001050032733
网友评论