请探讨一下,鸿蒙下的Server为啥都是lib库,而不是进程,那他如何解决多进程访问,多进程资源互斥的问题呢?尽管代码中使用ipc多进程通讯机制,但他本身就是一个so,没有进程概念,有ipc又如何起作用呢?那他属于哪个进程呢?举例:ohossharedlibrary("batteryservice"){sources["${batterymanagerpath}serviceszidlsrcbatterysrvstub.cpp","nativesrcbatterycallback.cpp","nativesrcbatterydump.cpp","nativesrcbatteryservic...
2022-06-28 14:17:15 7195浏览 2点赞 5回复 1收藏
鸿蒙应用权限管理和访问控制鸿蒙系统权限主要解决两个方面的问题1.应用或服务进程间权限访问的管理采用的是基于ATM的VerifyPermission,所有接口均为内部接口,仅提供底层能力,不对开发者开放。鉴权过程中直接调用VerifyPermission接口即可。2.访问控制列表(ACL)ACL(AccessControlList)提供了解决低等级应用访问高等级权限问题的特殊渠道。采用的是应用APL(AbilityPrivilegeLevel)等级和授权方式,授权分为systemgrant(系...
2022-06-26 17:17:10 1.3w浏览 0点赞 0回复 1收藏
虽然鸿蒙系统对外宣传天然无Root,但只要是代码开发者,在使用hdc时,‘’出现在你的面前,当然对于开发调试者是一种窃喜,想怎么往里推文件,修改参数。但从最终用户来看,这是安全隐患。如何关闭root,切换到shell用户呢,解决中....解决思路:1.参考Androidinit启动流程,参考对应的adb守护进程,发现在其中在启动流程中,切换了root到shell。staticvoiddropprivileges(intserverport){if(shoulddropcaps){minijailusecaps(j...
2022-04-29 11:25:40 3.1w浏览 2点赞 0回复 1收藏
https:gitee.comopenharmonydistributedschedulesafwk在系统服务管理子系统中safwk组件定义OpenHarmony中SystemAbility的实现方法,并提供启动、注册等接口实现。SystemAbility实现一般采用XXX.cfg+profile.xml+libXXX.z.so的方式由init进程执行对应的XXX.cfg文件拉起相关SystemAbility进程。C++实现SystemAbility说的很清楚啦,已经找到
2022-06-29 11:02:06 0点赞 0回复
鸿蒙这样设计的目的和初衷是为了啥呢,是出于什么考虑,这样干,如果so没有写好,考虑到进程互斥,里面现在有一些全局变量的定义等,是为了调用性能,还是?应该不是任何so可以通过samain加载成进程
2022-06-29 10:52:06 0点赞 0回复
把“samain启动”的原理分析下就最好,现在相当于个黑盒子,这个应该是鸿蒙搞出来的概念,或者还是从三星tizen学过来的。
2022-06-29 10:36:30 0点赞 0回复
感谢,解释非常清晰,我之前理解有进程的地方一定会有etcinit配置脚本,看来这个逻辑是正确的,否则不是进程,只是一个libso而已。
2022-06-29 10:27:45 0点赞 0回复
这个在代码目录下,lsla就会发现,代码是软链接到kernel目录下,编译到内核中,至于对外的使用,跟其他的device设备没有本质区别,还是文件节点。不过,我也没太看明白,他搞一个什么section段的,就是为存放鸿蒙搞的一堆hdf变量,不知道是为了解决什么问题
2022-06-28 20:52:04 0点赞 0回复
非常感谢,saprofile3302.xml这里面有个数字,就是后面会转化为一个XXID的ServerID号一样的东西,对吗?另外系统启动阶段会启动一个进程“batterystats”,这个代码具体在哪,是一个关联库名字lib而创建的进程(fork),还是?如果说启动,那之前如何配置进程的权限呢,需要访问的资源等等,当然创建也一样有这个问题,请帮忙指导下。这里是跟saprofile这个相关,这个概念和介绍在官网那个网址,请帮忙指导下;
2022-06-28 20:44:08 0点赞 0回复