2.6
关于进程优先级的计算:
内核定义了两个宏用来完成这一转换:
PRIO_TO_NICE()
NICE_TO_PRIO()
何时需要计算优先级?
以下几种情况需要计算进程的优先级:
创建新进程,使用函数effective_prio() ;
唤醒等待进程时,使用函数recalc_task_prio()来计算进程动态优先级。
进程用完时间片以后,被重新插入到activearray或者expiredarray的时候需要重新计算动态优先级,以便将进程插入到队列的相应位置。此时,使用函数effective_prio();
其他情况,如负载平衡(move_task_away() )以及修改nice 值(set_user_nice())、修改调度策略(setscheduler())时。
阅读(1174) | 评论(0) | 转发(0) |