Linux中的新进程从父进程的优先级继承
问题描述:
在Linux中,当创建新进程时,它继承其父进程的normal_prio
值为static_prio
。这在哪里发生?Linux中的新进程从父进程的优先级继承
它是在dup_task_struct()
函数中完成还是在copy_process()
函数中?
答
它实际上在sched_fork发生是由copy_process
称为父的优先级被转移到孩子这样
p->prio = current->normal_prio;
其中p为孩子的task_struct
和current
指向父最初的东西。
然后normal_prio
被修改,这样
p->prio = p->normal_prio = __normal_prio(p);
__normal_prio(p)
最终归结为类似
return p->static_prio;
检查了2个链接我已经加入到探索更多。
谢谢..有没有任何工具或方式使用我可以跟踪这些事情?我的意思是我可以追踪流程的任何方式,流程是如何创建和安排的? – rAzOr 2012-03-14 16:00:56
'kdb'和'kgdb'(你可以谷歌他们)是调试Linux内核的两个调试器。调试Linux内核不是一件简单的事情。我宁愿建议阅读一些关于Linux/Linux内核的好书。前罗伯特洛夫之一。也可以使用http://lxr.free-electrons.com/作为参考 – 2012-03-14 16:05:18
感谢您的参考和建议.. – rAzOr 2012-03-14 17:05:59