Linux中的新进程从父进程的优先级继承

问题描述:

在Linux中,当创建新进程时,它继承其父进程的normal_prio值为static_prio。这在哪里发生?Linux中的新进程从父进程的优先级继承

它是在dup_task_struct()函数中完成还是在copy_process()函数中?

它实际上在sched_fork发生是由copy_process

称为父的优先级被转移到孩子这样

p->prio = current->normal_prio; 

其中p为孩子的task_structcurrent指向父最初的东西。

然后normal_prio被修改,这样

p->prio = p->normal_prio = __normal_prio(p); 

__normal_prio(p)最终归结为类似

return p->static_prio; 

检查了2个链接我已经加入到探索更多。

+0

谢谢..有没有任何工具或方式使用我可以跟踪这些事情?我的意思是我可以追踪流程的任何方式,流程是如何创建和安排的? – rAzOr 2012-03-14 16:00:56

+0

'kdb'和'kgdb'(你可以谷歌他们)是调试Linux内核的两个调试器。调试Linux内核不是一件简单的事情。我宁愿建议阅读一些关于Linux/Linux内核的好书。前罗伯特洛夫之一。也可以使用http://lxr.free-electrons.com/作为参考 – 2012-03-14 16:05:18

+0

感谢您的参考和建议.. – rAzOr 2012-03-14 17:05:59