鸿蒙

简介

与Android的体系结构不同, 鸿蒙系统更加强调灵活性, 旨在

  1. 利用同一套系统,适配手机、电视、平板、智能穿戴设备、等终端。

主要通过框架层去实现,提供用户程序框架、Ability框架以及UI框架,

  1. 硬件互助,资源共享

为了实现以上的目的,鸿蒙系统主要依赖于以下几种技术:

  • 分布式软总线

  • 分布式设备虚拟化

  • 分布式数据管理

  • 分布式任务调度

  1. 统一OS,弹性部署(可剪裁)
image

鸿蒙的架构大致如下所示:

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

分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。分布式软总线示意图如上图所示。

为实现以上的功能,鸿蒙底层的代码架构如下:

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

https://gitee.com/openharmony

https://harmonyos.51cto.com/posts/3893

https://github.com/Awesome-HarmonyOS/HarmonyOS

你可能感兴趣的:(鸿蒙)