Android培训班(112)start_kernel函数9
page_cgroup_init();
这个函数是容器组的页面内存分配。
mem_init();
这个函数是标记那些内存可以使用,并且告诉系统有多少内存可以使用,当然是除了内核使用的内存以外。
enable_debug_pagealloc();
这个函数是设置内存分配是否需要输出调试信息,如果调用这个函数,当分配内存时,不会输出一些相关的信息。
cpu_hotplug_init();
这个函数是初始化CPU热插拔的功能,所谓CPU热插拔的功能,就是对多个CPU进行动态启用和关闭的功能。比如有4个CPU,当低功耗时可以只开启一个CPU,如果高性能时,就可以把4个CPU同时开启,可以在性能与功耗上达到一个动态的调节。
kmem_cache_init();
这个函数是初始化内核内存的缓存,当初始化完成之后,就可以使用通用内存缓存了。
debug_objects_mem_init();
这个函数是创建调试对象内存缓存,所以紧跟内存缓存初始化后面。
idr_init_cache();
这个函数是创建IDR机制的内存缓存对象。所谓的IDR就是整数标识管理机制(integerIDmanagement)。引入的主要原因是管理整数的ID与对象的指针的关系,由于这个ID可以达到32位,也就是说,如果使用线性数组来管理,那么分配的内存太大了;如果使用线性表来管理,又效率太低了,所以就引用IDR管理机制来实现这个需求。
setup_per_cpu_pageset();
这个函数是创建每个CPU的高速缓存集合数组。因为每个CPU都不定时需要使用一些页面内存和释放页面内存,为了提高效率,就预先创建一些内存页面作为每个CPU的页面集合。
//QQ:9073204 EMAIL:9073204@qq.com
//蔡军生 2012-8-19
//培训文档100元一份
Android培训班(112)start_kernel函数9相关推荐
- Android培训班(110)start_kernel函数7
parse_args("Bootingkernel", static_command_line, __start___param, __stop___param - __start ...
- Android培训班(109)start_kernel函数6
setup_command_line(command_line) 这个函数主要作用是保存命令行,以便后面可以使用. unwind_setup() 这个函数主要作用是对调用栈的调试功能进一步初始化.在A ...
- 【SemiDrive源码分析】【X9芯片启动流程】30 - AP1 Android Kernel 启动流程 start_kernel 函数详细分析(一)
[SemiDrive源码分析][X9芯片启动流程]30 - AP1 Android Kernel 启动流程 start_kernel 函数详细分析(一) 一.Android Kernel 启动流程分析 ...
- 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | Class.cpp#findClassNoInit 函数 | DexFile.cpp#dexFindClass 函数分析 )
文章目录 前言 一.Class.cpp#dvmDefineClass 函数分析 二.Class.cpp#findClassNoInit 函数分析 三.DexFile.cpp#dexFindClass ...
- 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | native 函数查询 | dalvik_system_DexFile.cpp#defineClassNative 函数 )
文章目录 前言 一.查询 defineClassNative 函数 二.dalvik_system_DexFile.cpp#Dalvik_dalvik_system_DexFile_defineCla ...
- 【Android 逆向】Dalvik 函数抽取加壳 ( 类加载流程分析 | DexPathList#findClass 函数分析 | DexFile#loadClassBinaryName 函数 )
文章目录 前言 一.DexPathList.java#findClass 类加载函数源码分析 二.DexFile.java#loadClassBinaryName 函数源码分析 前言 上一篇博客 [A ...
- 【Android 逆向】ptrace 函数 ( C 标准库 ptrace 函数简介 | ptrace 函数真实作用 )
文章目录 一.C 标准库 ptrace 函数简介 二.ptrace 函数真实作用 一.C 标准库 ptrace 函数简介 ptrace 函数 : 在 C 标准库 中有一个 ptrace 函数 , 该函 ...
- 内核启动的C语言阶段——start_kernel函数
以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除. start_kernel函数位于kernel/init/main.c,完成以下内容: (1)打印一些输出信息. (2)内核工作所需的模块的初 ...
- cocos2d-x 通过JNI实现c/c++和Android的java层函数互调 .
转载请注明来自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/992.html 本文主要实现两个功能: (1)通过Android sdk的API得 ...
最新文章
- linux互斥锁和条件变量,如何理解互斥锁和条件变量?
- 企业绩效管理推不动,如何用绩效创造价值?
- 如何用python画出中国地图-用Python画一个中国地图
- P3899-[湖南集训]谈笑风生【主席树】
- django生成文件txt、pdf(在生成 PDF 文件之前,需要安装 ReportLab 库)
- 【Vue.js 知识量化】Promise
- 在Idea2017.1中编译时发生如下的错误
- Python代码Linux
- matlab exprnd函数,Matlab 用 exprnd 函数生成符合指数分布的随机数
- android ndk makefile,用Android NDK打造自己的toolchain(使用C/C++默认的Makefile)
- 51单片机智能小车蓝牙
- Field II 学习笔记(1):Matlab命令汇总
- 计算机图形学入门(十三)-光线追踪(基本原理)
- 传冯德伦获邀进军好莱坞拍片 希望舒淇加盟
- Mocking Techniques for Go
- 推荐系统:电商推荐系统架构
- u盘坏了数据可以恢复吗?实用小方法
- 服务器虚拟kvm是什么意思,服务器 配置虚拟kvm功能
- html 图片鼠标移上去点亮,CSS3 实现鼠标移到图片上时一片亮光一闪而过的效果...
- python中的进度条tqdm模块, 让进度可视