Какова цель магических чисел в перезагрузке Linux?

12

На странице Википедии для Линуса Торвальдса сказано:

Системный вызов перезагрузки ядра Linux принимает их даты рождения (записанные в шестнадцатеричном формате) как магические значения.

Документация по reboot()функции Linux показывает, что ей нужно два магических числа, magicи magic2для перезагрузки.

Поиск Google показывает много информации о магических числах, но не конкретно, какова их цель, и почему функции необходимо передать эти значения для работы.

Мне действительно тяжело пытаться решить это. Мне кажется, что магические ценности просто передаются ради этого.

Любая информация ценится ...

jambolina
источник

Ответы:

6

Магические числа таковы, что ошибка памяти, которая переворачивает биты в номере системного вызова, что приводит к тому, что номер системного вызова перезагрузки не перезагружает машину, если только ошибка памяти не приводит к изменению аргументов на магические числа.

Хотя у меня нет никаких доказательств, я думаю, что предыдущее объяснение правдоподобно, если не соответствует действительности.

Дэн Д.
источник
Кажется, это имеет смысл, теперь я понимаю, спасибо.
Джамболина