CGroupAndroid实践篇二Android CGroup初始化流程---更新中

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CGroupAndroid实践篇二Android CGroup初始化流程---更新中相关的知识,希望对你有一定的参考价值。

写在前面

本文基于android12 AOSP源码,对Android CGroup的初始化流程进行一个详细的解读,这部分解读帮助我们了解Google在设计之初是如何将CGroup引入到Android等。实际上,无论是从json配置文件,还是libprocessgroup还是有一定的局限性,并没有完全释放CGroup为系统优化带来的强大能力。但了解其初始化流程为我们后面的客制化开发,并在运行时对资源进行适时管控,建立一个CGroup基础知识体系;我们最终要实现的目的,把有限的资源按需调度或按优先级最大化去支撑用户交互的场景。这个交互场景可能是语音,可能是地图,也有可能是游戏影院等场景。

一,代码框架概览

二,代码流程解析

 2.1 SecondStageMain()

关于这部分在前面的【IVI】8. Android Automotive OS 启动详解-Init篇有详细介绍,有兴趣可以做个参考;

/system/core/init/init.cpp

845  int SecondStageMain(int argc, char** argv) 
846      if (REBOOT_BOOTLOADER_ON_PANIC) 
847          InstallRebootSignalHandlers(

以上是关于CGroupAndroid实践篇二Android CGroup初始化流程---更新中的主要内容,如果未能解决你的问题,请参考以下文章

Android Telephony分析 ---- 接口扩展(实践篇)

Android 四大组件学习之ContentProvider二

读书笔记《Android应用性能优化最佳实践》

Hook android系统调用的实践

Android模块化开发实践

Android 原生 SQLite 数据库的一次封装实践