Linux 重启时神奇数字的用途是什么?

Linux 重启时神奇数字的用途是什么?

Linus Torvalds 的维基百科页面,其中规定:

Linux 内核的重启系统调用接受他们的出生日期(以十六进制表示)作为魔法值。

Linux 函数的文档reboot()显示它需要两个神奇数字,magic然后magic2重新启动。

谷歌搜索揭示了大量有关魔法数字的信息,但没有具体说明它们的用途是什么,以及为什么函数需要传递这些值才能运行。

我真的很难解决这个问题。在我看来,魔法值只是为了传递而传递的。

任何提供的信息都值得赞赏...

答案1

魔法数字是这样的,如果内存错误会翻转系统调用号中的位,从而导致重新启动系统调用号,但不会重新启动机器,除非内存错误也恰好将参数更改为魔法数字。

虽然我没有提供任何证据,但我认为先前的解释即使不真实也是合理的。

相关内容