每日阅读4之linux内核设计与实现——linux调度实现之调度器入口

linux调度的入口函数时schedule(),定义在文件kernel/sched.c是内核其它部分用于调用进程调度器的入口:选择哪个进程可以运行,何时将其投入运行通常需要和一个具体的调度类相关联,一般是优先级最高的,每个调度类都有一个自己的可运行队列这个函数唯一的作用就是调用pick_next_task,依次检查每个调度器类,并且从最高优先级的调度器类中选择最高优先级的进程运行。。
摘要由CSDN通过智能技术生成

linux调度的入口函数时schedule(),定义在文件kernel/sched.c

是内核其它部分用于调用进程调度器的入口:选择哪个进程可以运行,何时将其投入运行

通常需要和一个具体的调度类相关联,一般是优先级最高的,每个调度类都有一个自己的可运行队列

这个函数唯一的作用就是调用pick_next_task,依次检查每个调度器类,并且从最高优先级的调度器类中选择最高优先级的进程运行。。

/*
 * Pick up the highest-prio task:
 */
static inline struct task_struct *
pick_next_task(struct rq *rq)
{
const struct sched_class *class;
struct task_struct *p;


/*
* Optimization: we know that if all tasks are in
* the fair class we can call that function directly:
*/
if (likely(rq->nr_running == rq->cfs.nr_running)) {<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值