发布时间:2015-05-30 10:28:13
前言前面介绍了控制组主要数据结构和控制组文件系统的设计,本文继续对控制组进行介绍,内容主要包括:控制组的初始化、任务分组、遍历控制组中任务以及其他相关实现.有了前面文章介绍的基础,本文的内容很容易理解.1. 初始化控制组内核会在系统启动时对各个系统模块进行初始化,控制组作为内核的功能模块之一当然也.........【阅读全文】
发布时间:2015-05-29 23:26:16
转载时请以超链接形式标明文章原始出处http://wanderer-zjhit.blogbus.com/logs/156738683.html和作者信息及本声明思考: 在cfs就绪队列中,进程是否切换不是按照时间片到期考虑,而是给根据当前就绪进程数给出一个延迟周期,然后根据当前进程的权重,从而确定当前进程是否已经执行过.........【阅读全文】
发布时间:2015-05-29 20:27:32
进程负载均衡已经提到过不止一次了,这个特性很重要,因为有多个cpu,我们不能让一个cpu过于空闲,当然也不能让它过于繁忙,这就需要负载均衡来完成,前面写过一篇文章简单说明了一下负载均衡的策略,主要就是不能太频繁做这件事,而且原则就是能不做尽量不做,在做负载均衡的时候,有个cpu_load数组很重要,那篇文章很细.........【阅读全文】
发布时间:2015-05-29 20:07:06
周期性调度器由scheduler_tick()函数实现,在每个时钟中断中都会调用该函数来更新一些统计量,并且会激活当前进程所属调度类的周期性处理接口,代码流程如下所示: 具体来说,scheduler_tick()做了以下工作: 1)更新就绪队列的实际时钟时间,不是虚拟时钟时.........【阅读全文】
发布时间:2015-05-29 15:13:04
Scheduling Domains 引入的背景Scheduling Domains 是现代硬件技术尤其是多 CPU 多核技术发展的产物。现在,一个复杂的高端系统由上到下可以这样构成:它是一个 NUMA 架构的系统,系统中的每个 Node 访问系统中不同区域的内存有不同的速度。同时它又是一个 SMP 系统。由多.........【阅读全文】