OpenHarmony release3.1版本启动子系统功能分析

本文详细分析了OpenHarmony 3.1版本init启动子系统,介绍了进程启动、回收机制增强,以及并行启动、按需启动、分组启动等功能。增强点包括:配置服务绑核、优先级、Selinux策略和AccessToken;支持服务分组、依赖管理;优化进程启动流程和资源回收策略;提供整机状态服务,以及动态加载和按需启动策略,提高了系统效率和安全性。
摘要由CSDN通过智能技术生成

1.技术背景
OpenHarmony release3.1版本在2.0的基础之上不仅增加了功能,而且各模块组件的能力也有所增强,本文就3.1版本的init启动子系统模块,在启动引导系统服务方面进行分析。本文档是基于码云上release3.1分支代码进行分析。
启动子系统负责整个系统各个进程运行时环境的构建及进程引导,不同层级的进程有着不同的运行环境,运行环境决定着系统进程的设计。在增强启动子系统能力方面有以下方面:
基础能力增强:进程启动、回收机制增强,维护命令统一以及插件化管理;
并行启动:最大化并行启动,为依赖资源提供同步机制,运行时进行资源获取;
按需启动:无访问不启动,减少常驻内存;
分组启动:可对服务进行灵活组装,提供整机不同的启动级别能力。
2.Init启动功能概述
2.1.基础能力的增强
进程启动,支持进程的selinux策略配置,扩展AccessToken设置,支持绑核配置;进程回收,支持进程频繁退出抑制机制;维护命令,统一init的维护命令,包括系统参数和进程管理;插件化管理,init部件与周边模块关联度高,通过插件化机制供其它模块扩展。
2.2.进程分组&并行启动
支持服务分组配置,如支持系统知名group,支持整机开机、重启、关机、待机、充电等模式;支持服务依赖管理,支持并行启动依赖同步机制。
2.3.按需启动
支持SA类进程按需启动,HDF类进程按需启动,socket类进程的按需启动;支持热插拔事件驱动进程按需启动;支持为按需启动定时启动、进程代持fd等辅助功能。

3.系统能力增强点分析
3.1.进程启动能力增强
进程启动时,支持在配置文件中配置服务进程的绑核、优先级、selinux策略加载以及AccessToken信息。
3.1.1.配置服务进程绑核能力
在服务的cfg配置文件中,配置绑核,例如param_watcher服务。系统启动之后通过taskset -p pid,查看服务绑核情况,例如 current affinity mask: 3,即表示param_watcher服务运行在两个cpu上切换。
“services” : [{
“name” : “param_watcher”,

“cpucore” : [0,1]
},
通过CJSON解析 cfg 文件,获取属性”cpucore”属性值的数组,然后通过接口CPU_SET设置进程的CPU.


在init,fork()服务子进程时设置CPU绑核。

3.1.2.配置服务进程优先级
在服务cfg文件中配置进程的优先级,例如appspawn.cfg中配置"importance" : -20,即设置appspawn的优先级为-20。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值