内核编译后,sched.c文件保持不变

时间:2013-01-02 22:45:22

标签: unix process kernel fork scheduling

我有关于unix内核编译的问题。我们正在为过程设计调度算法。我们更改了fork.c,sched.c的内容。但是,在内核编译后fork.c正在更新时,sched.c保持不变。我在网上搜索过这类问题但我找不到解决方案。如果你们中有人对这个问题有所了解,我将非常高兴。

谢谢!

1 个答案:

答案 0 :(得分:0)

假设您使用make构建内核:

如果依赖项的时间戳早于现有目标文件,

make可能会跳过目标。

如果编辑某个源文件,make不会将其重新编译为新的目标文件, 您应该检查主机的时钟并清理以删除可能具有未来时间戳的文件。

在你的情况下,你期望在编译内核期间更改sched.c,对吧?这相当不常见,因为通常来源不受影响且对象文件已更改。也许这会导致一些奇怪的循环依赖,阻止了想要的行动:

sched.c : sched.c
        command_to_edit -i sched.c -o sched.c

可能make未构建sched.c,因为目标的时间戳(sched.c)与依赖项的时间戳(sched.c)相同。