Maaginen numero
"Maaginen numero" tai "taikanumero" (engl. magic number) on tiedoston alku tai protokollan aloitus, jonka perusteella tiedon muoto voidaan määritellä.
Niillä on tietotekniikassa myös muitakin käyttötarkoituksia kuten virheenjäljityksessä.
Maaginen numero on yleensä heti tiedoston tai verkkoviestin alussa tai lähellä sen alkua.
Nimi tulee Unix ja Unixin kaltaisten käyttöjärjestelmien magic
-tiedostosta, joka listaa magic-merkkijonot, jota käytetään tiedoston sisällön tunnistamiseen.[1]
Toinen keino tiedostomuotojen tunnistamiseen on tiedostopäätteitä, joita käytetään muun muassa Microsoftin käyttöjärjestelmissä ja hajanaisesti muissa käyttöjärjestelmissä.[2]
Virheenjäljityksessä
muokkaaTietomuotojen tunnistamisen lisäksi numeroita käytetään virheenjäljityksessä eri tarkoituksiin.
Microsoft Visual Studion käyttämiä arvoja:[3]
0xCD
- puhdas muisti: varattu mutta ei ole kirjoitettu0xDD
- kuollut muisti: vapautettu alue jota ei pitäisi enää olla käytössä0xFD
- aitamuisti: muistialueen rajaamiseen, jolla havaitaan ylikirjoitukset tai alikirjoitukset0xAB
-LocalAlloc()
:in varauksesta0xBAADF00D
-LocalAlloc()
:in varauksestaLMEM_FIXED
-parametrilla, muistia johon ei ole vielä kirjoitettu0xCC
- alustamattomiin muuttujiin sijoitettu arvo
Muistialueessa voidaan havaita arvoja kuten 0xCDCDCDCD
tai 0xDDDDDDDD
näistä johtuen.
Tietoliikenteessä
muokkaaEsimerkkejä maagisien numeroiden käytöstä tietoliikenteessä:
Katso myös
muokkaaLähteet
muokkaa- ↑ file(1) - Linux man page linux.die.net. Viitattu 2.3.2019.
- ↑ www.linfo.org/magic_number.html linfo.org. Viitattu 26.3.2018. (englanniksi)
- ↑ Marius Bancila: Inside CRT: Debug Heap Management 4.4.2005. Code Guru. Viitattu 12.5.2019. (englanniksi)[vanhentunut linkki]
Aiheesta muualla
muokkaa- Linuxin ytimessä käytetyt numerot (englanniksi)