Linux内核,task_struct(进程)初始化在哪里

时间:2016-12-03 16:30:58

标签: linux process linux-kernel kernel

我有一个家庭作业,我必须在task_struct添加一些条目并用它们做一些事情。此外,我必须在task_struct初始化时初始化特定int的条目。

task_struct首次初始化的文件/代码在哪里?

我找到了INIT_TASK.h但是task_struct表的第一个进程。我想找到每个task_struct初始化的位置并定义它的起始值,以便为我插入的新条目定义一些数字。

1 个答案:

答案 0 :(得分:0)

  

我试过fork,do_fork,init_task但我找不到别的东西   我在第一篇文章中说过init_task.h。你能告诉我吗?   系统调用要么是我能找到代码的文件   task_struct初始化?

你已经走在正确的轨道上了。现在do_fork()以及调用SYSCALL_DEFINE0(fork)的{​​{1}}调用_do_fork()背后的函数,其中新copy_process()struct task_struct *p创建 - 此后,p = dup_task_struct(current, node);将是您添加的好地方。所有这些都在文件kernel/fork.c中。