打印本文 打印本文 关闭窗口 关闭窗口
Linux 2.4进程调度分析 6
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1568  更新时间:2009/4/22 20:45:51  文章录入:mintao  责任编辑:mintao
,创建idle进程时使用了CLONE_PID标志位。

在do_fork()中,新进程的属性设置为:

  • state:TASK_UNINTERRUPTIBLE
  • pid:如果设置了CLONE_PID则与父进程相同(仅可能为0),否则为下一个合理的pid
  • cpus_runnable:全1;未在任何cpu上运行
  • processor:与父进程的processor相同;子进程在哪里创建就优先在哪里运行
  • counter:父进程counter值加1的一半;同时父进程自己的counter也减半,保证进程不能通过多次fork来偷取更多的运行时间(同样,在子进程结束运行时,它的剩余时间片也将归还给父进程,以免父进程因创建子进程而遭受时间片的损失)
  • 其他值与父进程相同

子进程通过SET_LINKS()链入进程列表,然后调用wake_up_process()唤醒(见上"调度器工作时机")。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口