OpenHarmony开发者论坛

标题: sa和进程是什么关系? [打印本页]

作者: sudo_huxin    时间: 2024-9-11 11:26
标题: sa和进程是什么关系?
[md]### 【问题描述】

最近在学习sa相关的东西,看到在编写系统服务中时,会有编写sa_profile配置(包括了进程名和sa名及lib)、etc/init/xxx.cfg(主要包括了services和jobs,理解为对应的进程配置)。
一般情况下一个sa对应了一个进程。但我也发现了有多个sa对应一个进程的关系。所以不太理解sa和进程之间的关系,有点懵逼,有大佬帮忙解释一下吗👀️ 👀️ 👀️

![image.png](https://forums-obs.openharmony.c ... ata6xm71lm303eg.png "image.png")

### 【运行环境】

版本:ohos3.2
[/md]
作者: 鸿蒙小语哥    时间: 2024-9-12 14:14
在OpenHarmony中,SA(System Ability)与进程有密切的关系。SA是一种模块化、可插拔的服务,用于提供特定的功能或服务。当一个SA被初始化时,它通常会启动一个或多个进程来执行其功能。

SA服务进程:

由init通过配置文件孵化的SA服务,比如accountmgr和foundation,会在启动时根据配置中的secon字段定义的SELinux策略创建对应的进程,并与特定的安全标签(如u:r:demo:s0)关联。
这些进程在SELinux使能状态下,会按照预设的权限规则运行,确保服务访问控制符合安全策略。
非SA进程:

对于非SA进程,它们可能需要通过SystemAbilityManagerClient来注册或管理自己的状态变化,如添加或移除时调用相应的回调方法(如OnAddSystemAbility()和OnRemoveSystemAbility())。

因此,SA与进程的关系是SA通过启动特定的进程来实现其功能,并且这些进程在SELinux环境中按照预设策略进行权限管理和隔离。
作者: kuaile    时间: 2024-9-26 15:58
进程与sa是一对多的关系,一个进程里面可以有一个或者多个sa在运行




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5