Process Linux内核进程管理

Process Linux内核进程管理,process,kernel,Process,Kernel,首先,我承认我要问的所有问题都是关于我们的家庭作业的,但我向你保证,我不会不努力地问至少两个小时 描述:我们应该在task_struct数据类型中添加一个名为max_cpu_percent的字段,并操作进程调度算法,以便进程不能使用更高百分比的cpu 例如,如果我为进程firefox将max_cpu_percent字段设置为20,firefox将无法使用超过20%的cpu 我们编写了一个系统调用来设置最大cpu百分比字段。现在我们需要看看系统调用是否有效,但是我们无法从用户间隔的程序中获得max

首先,我承认我要问的所有问题都是关于我们的家庭作业的,但我向你保证,我不会不努力地问至少两个小时

描述:我们应该在task_struct数据类型中添加一个名为max_cpu_percent的字段,并操作进程调度算法,以便进程不能使用更高百分比的cpu

例如,如果我为进程firefox将max_cpu_percent字段设置为20,firefox将无法使用超过20%的cpu

我们编写了一个系统调用来设置最大cpu百分比字段。现在我们需要看看系统调用是否有效,但是我们无法从用户间隔的程序中获得max_cpu_percent字段的值。 我们可以这样做吗?怎么做

我们尝试了proc/pid/etc。我们可以使用这个util获取值吗

顺便说一句,如果我们不能解决其他问题,我们可以在这里添加其他问题

谢谢大家

解决方案:

原因是我们没有修改将输出写入proc查询的代码块。 在array.c文件fs/proc/array.c中有一些方法,我们修改了函数,以便也打印新添加的字段值。内核正在编译,大约一小时后我们将看到结果=

它起作用了…

如果您只是扩展了getrlimit/setrlimit,那么您现在就可以完成了


已经有一种机制可以暴露task_struct的类似部分:/proc/$PID/stat和/proc/$PID/$TID/stat。查找函数proc_tgid_stat和proc_TID_stat。您可以在这些文件的末尾添加新字段。

您说您尝试使用了/proc/PID。你找到了什么?一个字段列表,但没有达到cpu最大百分比,我们尝试了列表中有意义的东西,如/proc/pid/attr,但也没有帮助。我仍在阅读有关/proc的信息,但尚未找到。