在Linus Torvalds 的维基百科页面,其中规定:
Linux 内核的重启系统调用接受他们的出生日期(以十六进制表示)作为魔法值。
Linux 函数的文档reboot()
显示它需要两个神奇数字,magic
然后magic2
重新启动。
谷歌搜索揭示了大量有关魔法数字的信息,但没有具体说明它们的用途是什么,以及为什么函数需要传递这些值才能运行。
我真的很难解决这个问题。在我看来,魔法值只是为了传递而传递的。
任何提供的信息都值得赞赏...
答案1
魔法数字是这样的,如果内存错误会翻转系统调用号中的位,从而导致重新启动系统调用号,但不会重新启动机器,除非内存错误也恰好将参数更改为魔法数字。
虽然我没有提供任何证据,但我认为先前的解释即使不真实也是合理的。