IPC: openharmony与android有多相似/IPC: how similar between openharmony and android
IPC: openharmony与android有多相似/IPC: how similar between openharmony and android
通过本篇文章 你会发现 在IPC这块的代码和架构设计 . openharmony(以下简称oh)与android 有相当大程度的相似性
可能有人会认为oh是在抄袭android, 所以给予oh负面的评价.
本篇的主要目的 不是为了贬低oh或者国人os, 只是从技术角度展示oh的真实情况. 至于什么样的评价,取决于其他人加入了什么样的想法.
科学技术代表智慧, 智慧没有国界 更没有界限 , 都是人类智慧的结晶
好了开始正文
IPC 介绍
Binder-IPC 是一种进程间通信机制,基于开源的 OpenBinder 实现;OpenBinder 起初由 Be Inc. 开发,后由 Plam Inc. 接手。
从字面上来解释 Binder 有胶水、粘合剂的意思,顾名思义就是粘和不同的进程,使之实现通信。
工作逻辑
- 以上这种工作逻辑来源于android的分析资料, 通过阅读oh的代码后,发现这张图也同样适用.
架构方面
android
openharmony
- 以oh3.1为例,整理了oh-IPC的类关系图,再经过整理、删减,可以发现类的关系架构图能够和android的相对应.
代码方面
- android-IPC中的IPCThreadState与oh-IPC的BinderInvoker存在对应关系
总结
- 以上对比了openharmony与android的架构,层级,工作逻辑还有代码. 他们基本上是差不多的. 可以说在以上展示的代码片段中, 基本一样,只是换掉了不同的名称
- 要说为什么要这样. 这个取决于他们都选用了同一个IPC-binder的通信框架. 技术框架一旦确定,整体方面一般不会发生变化。最多修改的是一些枝叶
- 在项目和产品开发中,技术选型至关重要。一旦确定后,后面的开发工作都是会围绕和基于这个选型展开
- 对于openharmony的评价,虽然上面有很多android 的影子,但是oh自身具备了一些android不具备的功能和特点. 例如HDF驱动框架
- binder原本是一个开源项目, 不能将binder与某种操作系统绑定起来。只是这两种操作系统都采用了binder-IPC方式
参考资料
- 书名:深入解析Android 5.0系统 作者:刘超
- 书名:Android的设计与实现:卷Ⅰ 作者:杨云君
- openharmony ipc
- Binder系列—开篇
- 写给 Android 应用工程师的 Binder 原理剖析
IPC: openharmony与android有多相似/IPC: how similar between openharmony and android
https://pans0ul.github.io/2022/07/09/IPC-how-similar-between-openharmony-and-android/