索引 | 博客文章目录
爱技术 | 爱分享 | 爱生活目前研究操作系统内核相关不喜勿喷,欢迎交流Linux源码剖析Linux源码 | Thermal框架源码剖析Linux源码 | PM Qos源码剖析Linux源码 | EM能量模型Linux内核设计Linux内核 | 进程管理Linux内核 | 进程调度Linux内核 | 系统调用Linux内核 | 中断机制Linux内核 | 内核同步Linux设备驱动Linux设备驱
爱技术 | 爱分享 | 爱生活目前研究操作系统内核相关不喜勿喷,欢迎交流Linux源码剖析Linux源码 | Thermal框架源码剖析Linux源码 | PM Qos源码剖析Linux源码 | EM能量模型Linux内核设计Linux内核 | 进程管理Linux内核 | 进程调度Linux内核 | 系统调用Linux内核 | 中断机制Linux内核 | 内核同步Linux设备驱动Linux设备驱
定义Simpleperf 是Google随NDK一起发布的一款profile工具(注:从NDK r13开始),它是针对Android平台的一个 native 层性能分析工具。使用步骤本篇是分析运行在android设备下的程序1. 将NDK中Simpleperf工具的可执行程序 push 到手机上cd <NDK>/simpleperf/bin/android/<对应的版本,根据被测
本文是基于linux kernel 5.15.41能量模型(EM)<kernel/power/energy_model.c | 源代码 | v5.15.41>框架是一种驱动程序与内核子系统之间的接口。其中驱动程序了解不同性能层级的设备所消耗的功率,而内核子系统愿意使用该信息做出能量感知决策。EM框架管理着系统中各个设备提供的“性能域”,也就是频率功率的映射表,相关的能量感知算法可通过接
本文是基于linux kernel 5.15.41QoS(Quality Of Service),最大限度地满足多个子系统的需求。具体的数据结构和函数声明在/include/linux/pm_qos.h,主要分成两类,系统级(PM QoS classes framework,/kernel/power/qos.c)和设备级(per-device PM QoS framework,/drivers/
1. 框架结构thermal core:thermal主要的程序,驱动初始化程序,维系thermal zone、governor、cooling device三者的关系。thermal zone device:创建thermal zone节点和连接thermal sensor,在/sys/class/thermal/目录下的thermal_zone*,通过dtsi文件进行配置生成。thermal
1. 定义临界区和竞争条件临界区:访问和操作共享数据的代码段 竞争条件:多个执行线程在一个临界区同时执行死锁:每个线程都在互相等待,但它们永远也不会释放占用的资源。自死锁:一个执行线程试图去获取一个自己已经持有的锁,它不得不等待锁释放,但因为它忙于等待这个锁,所以自己永远也不会有机会释放释放锁。2. 设计规则以下简单规则避免死锁按顺序加锁防止发生饥饿不要重复请求一个锁设计简单-复杂加锁机制,越可能
1. 中断中断是一种硬件信号,由具体的硬件设备产生的。不同的硬件设备对应唯一的中断号,处理器是通过中断号(IRQ n)识别不同的硬件设备,并执行对应的中断处理程序或中断服务例程(ISR)。2. 中断处理机制中断处理系统在Linux中是非常依赖体系结构的,硬件设备产生中断,通过总线把电信号发送到中断控制器,如果中断线是激活状态(中断线是允许被屏蔽的),中断处理器会将中断信号发往处理器,处理器会立即停
目前最新的ndk环境中,不包含binder库。下载安卓源码,将下面两句加入Android.mk文件,在源码中利用mm命令作为子模块进行单独编译,优点:简单,缺点:编译速度慢,需要依赖安卓源码,不利于协同开发LOCAL_SHARED_LIBRARIES := libutils libcutils libbinder liblog LOCAL_C_INCLUDES += frameworks/nati
1.前期准备一部解锁的手机(a/b分区【注意】,如米11)当前机型的线刷包(保持版本一致)梯子(没有梯子,上酷安找@秋时白露提供的通道,Magisk中设置的自定义通道)Magisk下载地址LSPosed下载地址2.步骤1.下载解压,安装Magisk,打开如下图解压线刷包,进入image文件夹下找到boot.img(这个是内核),移动到手机目录。进入Magisk,选择<安装>,选择<
1.用户配置git config --global user.name "hqber" git config --global user.email hqber@qq.com --local>--global>--system //查看配置 git config -l2.Git三棵树工作区:就是你在电脑里能看到的目录。暂存区:英文叫 stage 或 index。