发明名称 |
一种CFS调度器 |
摘要 |
本发明提供一种CFS调度器,属于linux内核进程调度算法设计领域,本发明包括:权重转化模块(1)、时间片分配模块(2)、虚拟时间模块(3)、红黑树维护模块(4)、选择进程模块(5)这五个模块;当进行IO操作时,在每一次操作结束时调用IO专用调度函数;调用IO调度函数时,修改此进程的虚拟运行时间;当第一次调用此函数时将虚拟运行时间设为初始状态,再调用主调度器;当下两次调用时,正常调用主调度器;并来回切换;通过主调度器选择下一个运行的程序。可以有效地提高CFS算法对IO进程分配的CPU时间,从而提高IO速度。 |
申请公布号 |
CN104375883A |
申请公布日期 |
2015.02.25 |
申请号 |
CN201410721645.4 |
申请日期 |
2014.12.03 |
申请人 |
浪潮电子信息产业股份有限公司 |
发明人 |
武毅 |
分类号 |
G06F9/46(2006.01)I;G06F9/48(2006.01)I |
主分类号 |
G06F9/46(2006.01)I |
代理机构 |
济南信达专利事务所有限公司 37100 |
代理人 |
姜明 |
主权项 |
一种CFS调度器,其特征在于,包括:权重转化模块(1)、时间片分配模块(2)、虚拟时间模块(3)、红黑树维护模块(4)、选择进程模块(5)这五个模块; 权重转化模块(1)是对系统中运行的各个进程的优先级进行相应的权重转化,使得不同优先级对应不同的权重,并以该权重进行下面的一系列的操作; 时间片分配模块(2)按照上述(1)模块中所得出的权重对系统中运行的各个进程分配相应的时间片,使各进程在理想状态下运行此时间片的长度; 虚拟时间模块(3)a、维护一个系统的虚拟时间,此虚拟时间与系统中所有进程的权重总和成反比,即总权重越大则系统虚拟时间前进的步伐越慢,反之则越快;b、各进程各自维护自己的一个虚拟时间,此虚拟时间与相应的进程权重成反比; 红黑树维护模块(4)按照上述(3)模块中所得出的虚拟时间,构造红黑树数据结构,虚拟时间最小的排在红黑树的最左边;选择进程模块(5)时钟周期来到时,调用主调度器,主调度器再调用进程选择函数,从上述(4)模块中生成的红黑树里选择最左边的那个进程作为下一个时间片的运行进程。 |
地址 |
250101 山东省济南市高新区浪潮路1036号 |