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

来源:互联网 发布:域名升级访问中 编辑:程序博客网 时间:2024/05/24 01:45

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); 启动进程


原创粉丝点击