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

- 阅读全文 -

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

- 阅读全文 -

Linux内核 | 进程调度

1. 进程调度原理最大限度地利用处理器时间,只要有可以执行的进程,那么就总会有进程正在执行。按多任务系统分类抢占式多任务非抢占式多任务按进程分类IO消耗型:进程的大部分时间用来提交I/O请求或是等待I/O请求。处理器消耗型:进程的大部分时间在执行代码1.1 进程优先级根据进程的价值和其对处理器的时间需求对进程进行分级。Linux采用了两种优先级范围nice值,范围[-20,19],nice值越大,

- 阅读全文 -

CPU利用率计算

/proc/stat    在Linux的内核中,有一个全局变量:Jiffies。 Jiffies代表时间。它的单位随硬件平台的不同而不同。系统里定义了一个常数HZ,代表每秒种最小时间间隔的数目。这样jiffies的单位就是1/HZ。Intel平台jiffies的单位是1/100秒,这就是系统所能分辨的最小时间间隔了。每个CPU时间片,Jiffies都要加1。 CPU的利用率就是用执行用户态+系统

- 阅读全文 -

嵌入式 | ARM工作模式详解

ARM v4版本的处理器有以下两个工作状态:ARM状态:32位,执行字对准的ARM指令。(性能好,代码密度小Thumb状态:16位,执行半字对准的Thumb指令。(性能差,代码密度大) 进入Thumb状态的方法是:执行BX指令,并设置操作数寄存器的状态(位[0])为1。在Thumb状态进入异常(所有的异常都是ARM状态),当异常处理返回时自动转换Thumb指令。进入ARM状态的方法是:执

- 阅读全文 -

爬坑 | Centos7安装gitbook

Centos7安装gitbook安装npm(Node Package Manager) 从node.js的官网(https://nodejs.org/en/)上下载安装程序,即可完成Node.js和npm的安装。Centos安装gitbooknpm install -g gitbook-cli出现错误npm ERR! path /Users/aven/node-red/node_modules

- 阅读全文 -