12

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

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

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

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

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

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

1 ответ1

6

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .