Hi3516的SAMGR--系统服务框架子系统-12-阶段性总结 原创 精华

发布于 2021-7-3 10:33
浏览
2收藏

Hi3516的SAMGR--系统服务框架子系统-12

阶段性总结

liangkz 2021.07.03

 

从《系统服务框架子系统》系列文章(见专栏文章列表)发布的6月初到现在的7月初,刚好一个月,基本上把鸿蒙的轻量系统和小型系统的 //foundation/distributedschedule/samgr_lite/  目录下的代码做了一个比较清晰的理解了,中间走过弯路,有过中断,也有半夜爬起来撸代码的时候,但基本上来看,还是值得的,累与成就感并存。

前期有段时间主要是在代码中埋大量的log,通过的整理和增减log来理解程序流程,理解的东西越多,需要的log就越少。

当对代码的理解卡在某个地方的时候,百度也不给力,真的是如鲠在喉很难受,一旦突破了关键点,顿时感觉醍醐灌顶,有如神助。

后面就是一边整理理解体系,一边制表/画图/写字,码字速度跟不上思维的速度了。

 

当然,还有不少细节的地方有待进一步挖掘和研究,估计还能挖出不少知识盲点,比如对接口的访问权限的使用;有些相关联的地方也有待延伸过去理解,比如ipc通信那边的ipc_lite;而broadcast service/feature在小型系统中的作用也还没有搞清楚(只看见Init,但是没看见真正调用过相关接口);但大体上,这个模块就先阶段性地结束了。

 

至于标准系统的这个子系统,我粗略对比了一下代码,感觉可能是使用了一套完全不一样的实现方法,并且是用C++来实现的,不仅仅是这个子系统,其他子系统/组件,也是这么个情况。比如上一篇提到的appspawn组件,小型系统是appspawn_lite,标准系统是appspawn_standard,一比较你会发现完全是两码事。

所以再回到//foundation/distributedschedule/目录下,

Hi3516的SAMGR--系统服务框架子系统-12-阶段性总结-开源基础软件社区

轻量系统和小型系统跑的是 xxx_lite,标准系统跑的是 xxx,标准系统的还是C++实现的,很疑惑这代码的复用性和延续性,是不是有点问题?(有待未来的分析确认)。

 

 

不管怎么样,对于《系统服务框架子系统》系列文章,如果大家发现我有理解不到位或者理解错误的地方,欢迎指出来让我改正,以免误人子弟。感谢!

 

 

 

 

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-7-3 10:33:32修改
5
收藏 2
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐