linux 任务调度,进程创建(fork)(2.6内核)

linux 内核任务调度的三个任务队列(tast_list):

   rt_sched_class

   fair_sched_class

   idle_sched_class

 任务时间片(time slice):

   DEF_TIMESLICE = (100 * HZ / 1000)

时间片启动(任务调中断)

   {run_timer_softirq | tick_setup_sched_timer}->  update_process_times ->scheduler_tick->                           

      curr->sched_class->task_tick{ task_tick_fair|task_tick_rt}


进程创建(fork)

    do_fork->copy_process->sched_fork->__sched_fork(完成CPU 寄存器复制)

然后由    wake_up_new_task(p, clone_flags); 启动进程


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值