Linux'un yeniden başlatılmasındaki sihirli sayıların amacı nedir?


12

On Linus Torvalds için Vikipedi sayfasında , bu buyurulmaktadır:

Linux çekirdeğinin yeniden başlatma sistemi çağrısı, doğum tarihlerini (onaltılık olarak yazılmış) sihirli değerler olarak kabul eder.

Linux reboot()işlevinin belgeleri iki sihirli sayıya magicve magic2yeniden başlatmaya ihtiyaç duyduğunu gösterir .

Bir Google araması, sihirli sayılar hakkında çok fazla bilgi gösterir, ancak özellikle amaçlarının ne olduğunu ve işlevin çalışması için neden bu değerlerin iletilmesi gerektiğini göstermez.

Bunu çözmeye çalışırken gerçekten zorlanıyorum. Bana öyle geliyor ki sihirli değerler sadece uğruna geçti.

Herhangi bir bilgi için teşekkür ederiz ...

Yanıtlar:


6

Sihirli numaralar, sistem çağrı numarasında bitleri döndüren bir bellek hatasıdır, bu da yeniden başlatma sistem çağrısının numarasına neden olur, bellek hatası da argümanları sihirli numaralarla değiştirmedikçe makineyi yeniden başlatmaz.

Sağlayacak hiçbir kanıtım olmamasına rağmen, önceki açıklamanın doğru olmasa bile akla yatkın olduğunu düşünüyorum.


Bu mantıklı görünüyor, şimdi daha iyi anlıyorum, teşekkürler.
jambolina
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.