全部博文(175)
发布时间:2013-04-22 14:33:22
CFS调度中计算vruntime增量的一些细节 CFS调度器选择vruntime最小的任务来进行调度,在更新vruntime的时候一个是要考虑当前时间和上次更新vruntime的时间差,二是要加权计算sched_entity的load。load的值依赖于当前sched_entity的nice值,在内核中这个nice和load的对应关系事先已经被计算好。 &n.........【阅读全文】
发布时间:2013-04-18 11:00:02
Linux 时间片调度Linux 时间片调度时间片,简单来说就是CPU分配给各个程序的时间,使各个程序从表面上看是同时进行的,而不会造成CPU资源浪费在宏观上:我们可以同时打开多个应用程序,每个程序并行不悖,同时运行。但是在微观上:由于只有一个CPU,一次只能处理程序要求的一部分,如何处理公平,一种方法就是.........【阅读全文】
发布时间:2013-04-18 10:45:52
对于自己来说关键点:1、网页:http://blog.csdn.net/rein07/article/details/6534801Linux调度时机主要有:1、进程状态转换的时刻:进程终止、进程睡眠;2、当前进程的时间片用完时(current->counter=0);3、设备驱动程序主动调用schedule;4、进程从中断、异常.........【阅读全文】
发布时间:2013-04-17 16:43:26
linux内核调度算法(1)--快速找到最高优先级进程为什么要了解内核的调度策略呢?呵呵,因为它值得我们学习,不算是废话吧。内核调度程序很先进很强大,管理你的LINUX上跑的大量的乱七八糟的进程,同时还保持着对用户操作的高灵敏响应,如果可能,为什么不把这种思想放到自己的应用程序里呢?或者,有没有可能更好.........【阅读全文】
发布时间:2013-04-17 16:21:34
Linux调度主要是在一个runqueue结构体上操作。runqueue结构体有一个prio_array结构体数组,该数组中有个两个prio_array结构体。prio_array结构体的定义如下:struct prio_array { int nr_active /* number of tasks in the queue */; unsigned long bitmap[BITMAP_SIZE]; /* pr.........【阅读全文】