linux调度子系统
文章平均质量分 80
真胖子
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进程调度子系统(3)完全公平调度类CFS
1. 完全公平调度类最重要的就是维护一颗红黑树,对普通进程排队/kernel/sched_fair.c1802 static const struct sched_class fair_sched_class = {1803 .next = &idle_sched_class,1804 .enqueue_t原创 2014-03-11 20:45:46 · 1261 阅读 · 0 评论 -
进程调度子系统(1)调度器数据结构
调度器的任务,在进程间共享cpu时间,创造并行执行的错觉。该任务分为两个不同的部分:一个涉及调度策略,另一个涉及上下文切换。1.相关数据结构1.1task_struct相关成员1042 struct task_struct {1058 int on_rq; 1059 1060 int prio, static_prio, normal_prio;原创 2014-03-17 14:50:02 · 1383 阅读 · 0 评论 -
进程调度子系统(4)CFS补充
一、概述首先简单介绍一下基本的设计思路,CFS思路很简单,就是根据各个进程的权重分配运行时间(权重怎么来的后面再说)。进程的运行时间计算公式为:分配给进程的运行时间 = 调度周期 * 进程权重 / 所有进程权重之和 (公式1)调度周期很好理解,就是将所有处于TASK_RUNNING态进程都调度一遍的时间,差不多相当于O(1)调度算法中运行队列和过期队列切换一次的时间转载 2014-03-11 20:46:35 · 804 阅读 · 0 评论 -
进程调度子系统(2)核心调度器
调度器的实现基于两个函数:周期性调度器函数 和 主调度器函数1.周期调度器函数(scheduler_tick)内核按照频率(HZ)自动调用该函数(1)管理整个系统和各个进程的调度相关的统计量(2)激活负责当前进程的调度器类的调度方法sched/core.c// 周期调度器// 调用路径:update_process_times->scheduler_tick原创 2014-03-17 15:57:27 · 1353 阅读 · 1 评论
分享