Linux源码 | EM能量模型

本文是基于linux kernel 5.15.41能量模型(EM)<kernel/power/energy_model.c | 源代码 | v5.15.41>框架是一种驱动程序与内核子系统之间的接口。其中驱动程序了解不同性能层级的设备所消耗的功率,而内核子系统愿意使用该信息做出能量感知决策。EM框架管理着系统中各个设备提供的“性能域”,也就是频率功率的映射表,相关的能量感知算法可通过接

- 阅读全文 -

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

- 阅读全文 -

索引 | 博客文章目录

爱技术 | 爱分享 | 爱生活目前研究操作系统内核相关不喜勿喷,欢迎交流Linux源码剖析Linux源码 | Thermal框架源码剖析Linux源码 | PM Qos源码剖析Linux源码 | EM能量模型Linux内核设计Linux内核 | 进程管理Linux内核 | 进程调度Linux内核 | 系统调用Linux内核 | 中断机制Linux内核 | 内核同步Linux设备驱动Linux设备驱

- 阅读全文 -

机器学习 | 决策树 理论篇

决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树。决策树学习的关键在于如何选择最优划分属性。我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。经典的属性划分方法信息增益增益率基尼指数信息增益“信息熵”是度量样本集合纯度最常用的一种指标。 <div align=center></div>属性a对样本集D进行

- 阅读全文 -

机器学习 | 线性模型之Logistic回归

对数几率回归:(Logistic回归)解决二分类问题<div align=center></div> 单位阶跃函数:(不连续、理想状态)<div align=center></div><div align=center>y代表输出标记,z代表预测值</div>预测值大于零就判为正例,小于零就判为反例,预测值为临界值零

- 阅读全文 -

机器学习 | k-近邻算法原理及代码实现

k-近邻算法原理存在一组带标签的训练样本集,输入未带标签的新数据,将新数据每个特征属性与样本集中数据对应的特征属性进性比较,取k个最相似数据中出现次数最多的分类,做为新数据的分类。**代码实现from numpy import * import operator def createDataSet(): group = array ([[1.0,1.1],[1.0,1.0],[0,0],

- 阅读全文 -

算法 | 编程实现各种排序算法,并对比各种算法的效率

【设计要求】:在给出的代码素材sort.cpp文件中补充main函数中的swtich语句,以及以下排序函数,并比较各种排序方法在对素材文件中的1.data~5.data待排序序列进行排序时所需要的时间。void shellsort(int data[], int n);//希尔排序 void bubllesort(int data[], int n);//冒泡排序 void quicksort

- 阅读全文 -

算法 | 求解约瑟夫环问题(循环单链表)

问题利用循环单链表求解约瑟夫环问题(即n个人围成一个圆圈,然后从第一个人开始,按:1,2,3,…,m报数,数到m的人出圈,并有出圈者的下一个人重新开始报数,数到m又要出圈,如此类推,直到所有人都出圈,打印出圈的次序,其中n和m为输入数据)测试用例 输入 9 3 输出 3,6,9,4,8,5,2,7,1代码实现#include <stdio.h> #include <stdli

- 阅读全文 -