Linux源码 | Thermal框架源码剖析

1. 框架结构thermal core:thermal主要的程序,驱动初始化程序,维系thermal zone、governor、cooling device三者的关系。thermal zone device:创建thermal zone节点和连接thermal sensor,在/sys/class/thermal/目录下的thermal_zone*,通过dtsi文件进行配置生成。thermal

- 阅读全文 -

Linux内核 | 内核同步

1. 定义临界区和竞争条件临界区:访问和操作共享数据的代码段 竞争条件:多个执行线程在一个临界区同时执行死锁:每个线程都在互相等待,但它们永远也不会释放占用的资源。自死锁:一个执行线程试图去获取一个自己已经持有的锁,它不得不等待锁释放,但因为它忙于等待这个锁,所以自己永远也不会有机会释放释放锁。2. 设计规则以下简单规则避免死锁按顺序加锁防止发生饥饿不要重复请求一个锁设计简单-复杂加锁机制,越可能

- 阅读全文 -

Linux内核 | 中断机制

1. 中断中断是一种硬件信号,由具体的硬件设备产生的。不同的硬件设备对应唯一的中断号,处理器是通过中断号(IRQ n)识别不同的硬件设备,并执行对应的中断处理程序或中断服务例程(ISR)。2. 中断处理机制中断处理系统在Linux中是非常依赖体系结构的,硬件设备产生中断,通过总线把电信号发送到中断控制器,如果中断线是激活状态(中断线是允许被屏蔽的),中断处理器会将中断信号发往处理器,处理器会立即停

- 阅读全文 -

Native程序中引入Binder库

目前最新的ndk环境中,不包含binder库。下载安卓源码,将下面两句加入Android.mk文件,在源码中利用mm命令作为子模块进行单独编译,优点:简单,缺点:编译速度慢,需要依赖安卓源码,不利于协同开发LOCAL_SHARED_LIBRARIES := libutils libcutils libbinder liblog LOCAL_C_INCLUDES += frameworks/nati

- 阅读全文 -

搞机吧 | 利用Magisk刷LSPosed框架

1.前期准备一部解锁的手机(a/b分区【注意】,如米11)当前机型的线刷包(保持版本一致)梯子(没有梯子,上酷安找@秋时白露提供的通道,Magisk中设置的自定义通道)Magisk下载地址LSPosed下载地址2.步骤1.下载解压,安装Magisk,打开如下图解压线刷包,进入image文件夹下找到boot.img(这个是内核),移动到手机目录。进入Magisk,选择<安装>,选择<

- 阅读全文 -

Git和Repo详细使用教程

1.用户配置git config --global user.name "hqber" git config --global user.email hqber@qq.com --local>--global>--system //查看配置 git config -l2.Git三棵树工作区:就是你在电脑里能看到的目录。暂存区:英文叫 stage 或 index。

- 阅读全文 -

Linux设备驱动 | 构造和运行内核模块

1. 将模块链接到内核​ 内核具有非常小的栈,可能和一个4096字节大小的页那样小。在内核API中,函数名称中(__)通常表示接口底层组件,谨慎使用。内核代码不能实现浮点数运算,如果打开浮点支持,在某些架构上,需要在进入和退出内核空间时保存和恢复浮点处理器的状态。这种额外的开销没有任何价值,内核代码中也不需要浮点运算。​2. 装载和卸载模块insmod:将模块的代码和数据装入内核,然后使用内

- 阅读全文 -

Linux设备驱动 | 简述内核模块

1. 内核功能模块​ ​2. 设备和模块的分类字符设备:可通过字节流(类似文件)进行访问的设备,字符设备驱动程序通常至少要实现open、close、read和write系统调用。块设备:进行IO操作,可进行传输若干个完整的块的设备。网络接口:任何网络事务都经过一个网络接口形成,网络接口由内核中的网络子系统驱动,负责发送和接收数据包,不需要了解数据包结构和具体的映射。​3. 内核模块和应用程序

- 阅读全文 -

Linux内核 | 系统调用

1. 系统调用内核提供的用户空间和内核进行交互的一组接口,应用程序受限地访问硬件设备,提供创建新线程并与已有的进程进行通信,也提供了申请操作系统其他资源的能力。1.2 系统调用形式asmlinkage long sys_getpid(void)asmlinkage限定词是一个编译指令,通知编译器仅从栈中提取该函数的参数,每个系统调用都需要这个限定词。为了兼容32位和64位系统,函数返回long。1

- 阅读全文 -