随笔分类 -  进程管理

(三)Linux进程调度器-进程切换_学习笔记
摘要:一、学习笔记 说明:Kernel版本:4.14 1. 概述进程切换:内核将CPU上正在运行的进程挂起,选择下一个进程来运行。ARM架构中,CPU上一次只能运行一个任务,内核需要为任务分配运行时间来进行调度,以便同时能处理多个任务请求。如下图所示: 当进行任务切换的时候,思考下两个问题: (1) 怎样 阅读全文

posted @ 2021-01-24 23:25 Hello-World3 阅读(898) 评论(0) 推荐(0)

(二)Linux进程调度器-CPU负载_学习笔记
摘要:一、学习笔记 说明:Kernel版本:4.14 1. 概述 CPU负载(cpu load)指的是某个时间点进程对系统产生的压力。来张图来类比下(参考Understanding Linux CPU Load) (1) CPU的运行能力,就如大桥的通行能力,分别有满负荷,非满负荷,超负荷等状态,这几种状 阅读全文

posted @ 2021-01-24 17:54 Hello-World3 阅读(998) 评论(0) 推荐(0)

(一)Linux进程调度器-基础_学习笔记
摘要:一、学习笔记 Kernel版本:4.14 1. 概述从这篇文章开始,将开始Linux调度器的系列研究了。本文也会从一些基础的概念及数据结构入手,先打造一个粗略的轮廓,后续的文章将逐渐深入。 2. 概念2.1 进程 (1) 从教科书上,我们都能知道:进程是资源分配的最小单位,而线程是CPU调度的的最小 阅读全文

posted @ 2021-01-19 01:36 Hello-World3 阅读(951) 评论(0) 推荐(0)

进程学习杂项汇总
摘要:1. 进程状态描述,即 task_struct 的 state 成员取值 // include/linux/sched.h /* Per process flags */ #define PF_IDLE 0x00000002 /* 我是一个空闲线程*/ /* I am an IDLE thread 阅读全文

posted @ 2021-01-01 23:18 Hello-World3 阅读(606) 评论(0) 推荐(0)

进程调度杂项汇总
摘要:1. sched class与sched policy的对应关系 完全公平调度:SCHED_NORMAL SCHED_BATCH实时进程调度:SCHED_FIFO SCHED_RR空闲调度:SCHED_IDLEDeadline调度: SCHED_DEADLINE //kernel/sched/sch 阅读全文

posted @ 2021-01-01 23:07 Hello-World3 阅读(228) 评论(0) 推荐(0)

RT调度学习笔记(1)
摘要:一、RT进程简介 1. 什么是RT进程 进程优先级为0--99为实时进程,判断实时进程的方法就是判断进程的优先级是否是小于100。 #define MAX_USER_RT_PRIO 100 //实时进程小于100 #define MAX_RT_PRIO 100 #define MAX_PRIO 14 阅读全文

posted @ 2020-12-28 01:02 Hello-World3 阅读(3146) 评论(0) 推荐(0)

一. scheduler相关结构体简介
摘要:1. 调度器介绍 一个好的调度算法应当考虑以下几个方面:公平:保证每个进程得到合理的CPU时间。高效:使CPU保持忙碌状态,即总是有进程在CPU上运行。响应时间:使交互用户的响应时间尽可能短。周转时间:使批处理用户等待输出的时间尽可能短。吞吐量:使单位时间内处理的进程数量尽可能多。负载均衡:在多核多 阅读全文

posted @ 2020-11-01 23:40 Hello-World3 阅读(1254) 评论(0) 推荐(0)

cpu_capacity、task_util、cpu_util计算方法
摘要:在进程调度中使用到了一些比较关键的参数,用来作为调度、cpu调频、EAS等关键功能的前提。并且在相关模块中经常交替出现,比较容易混淆,这里单独将这些参数拎出来,做个记录。 1.cpu_capacity cpu_capacity是作为cpu算力的量化体现,代表着cpu性能的大小。数字越大,性能越高。c 阅读全文

posted @ 2020-10-30 01:41 Hello-World3 阅读(2731) 评论(0) 推荐(0)

iowait学习笔记
摘要:1. IOwait 到底在wait什么 %IOwait 一个迷之参数,top/iostat/mpstat/sar 都会统计的关键数据,字面理解是系统等待IO的时间,经常用于反映系统IO压力。 IOwait时候CPU在干什么?什么时间才算IOwait,到底在wait什么? 2. 数据含义及来源 man 阅读全文

posted @ 2020-10-28 02:24 Hello-World3 阅读(972) 评论(1) 推荐(0)

Sched_Boost总结
摘要:之前遇到一个耗电问题,最后发现是/proc/sys/kernel/sched_boost节点设置异常,一直处于boost状态。导致所有场景功耗上升。 现在总结一下sched_boost的相关知识。 Sched_Boost sched_boost主要是通过影响Task placement的方式,来进行 阅读全文

posted @ 2020-10-26 00:29 Hello-World3 阅读(2945) 评论(0) 推荐(0)

CPU governor调节器汇总
摘要:一、CPU调速器 现在很内核都会增加新的CPU调速器,很多人不知道内核中的CPU调速器有什么用,下面转一个CPU调速器Governor说明: 什么是Governor?Android的CPU 的频率并不是一成不变的,会因应程式所需而调整频率,通常会视乎CPU Loading% 而升/降频,在特定时间再 阅读全文

posted @ 2020-10-25 16:28 Hello-World3 阅读(4522) 评论(0) 推荐(0)

CFS调度器(2)——源码解析
摘要:注: 本篇文章主要集中在Linux CFS调度器源码解析。文章代码分析基于Linux-4.18.0。 一、进程的创建 进程的创建是通过do_fork()函数完成。新进程的诞生,我们调度核心层会通知调度类,调用特别的接口函数初始化新生儿。我们一路尾随do_fork()函数。do_fork() >_do 阅读全文

posted @ 2020-06-26 15:56 Hello-World3 阅读(1683) 评论(0) 推荐(0)

CFS调度器(1)—— 基本原理
摘要:首先需要思考的问题是:什么是调度器(scheduler)?调度器的作用是什么?调度器是一个操作系统的核心部分。可以比作是CPU时间的管理员。调度器主要负责选择某些就绪的进程来执行。不同的调度器根据不同的方法挑选出最适合运行的进程。目前Linux支持的调度器就有RT scheduler、Deadlin 阅读全文

posted @ 2020-06-21 11:02 Hello-World3 阅读(1770) 评论(0) 推荐(0)

导航