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


12

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

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

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

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

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

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

Ответы:


6

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

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


Кажется, это имеет смысл, теперь я понимаю, спасибо.
Джамболина
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.