Maaginen numero

Kohteesta Wikipedia
Siirry navigaatioon Siirry hakuun

Maaginen numero tai taikanumero (engl. magic number) on tietue, joka kertoo binääritiedoston tiedostomuodon tai tietoliikenneprotokollissa käytetty protokolla. Niillä on tietotekniikassa myös muitakin merkityksiä kuten virheenjäljityksessä. Maaginen numero on yleensä heti tiedoston tai verkkoviestin alussa tai lähellä sen alkua. Unix ja Unixin kaltaiset käyttöjärjestelmät käyttävät pääasiassa tiedoston alussa olevaa tunnistetta, jotka ovat kuvattu magic -tiedostossa.[1] Tiedostomuotojen tunnistamiseen on käytetty myös tiedostopäätteitä, joita käytetään muun muassa Microsoftin käyttöjärjestelmissä ja hajanaisesti muissa käyttöjärjestelmissä.[2]

Virheenjäljityksessä[muokkaa | muokkaa wikitekstiä]

Tietomuotojen 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 kirjoitettu
  • 0xDD - kuollut muisti: vapautettu alue jota ei pitäisi enää olla käytössä
  • 0xFD - aitamuisti: muistialueen rajaamiseen, jolla havaitaan ylikirjoitukset tai alikirjoitukset
  • 0xAB - LocalAlloc():in varauksesta
  • 0xBAADF00D - LocalAlloc():in varauksesta LMEM_FIXED-parametrilla, muistia johon ei ole vielä kirjoitettu
  • 0xCC - alustamattomiin muuttujiin sijoitettu arvo

Muistialueessa voidaan havaita arvoja kuten 0xCDCDCDCD tai 0xDDDDDDDD näistä johtuen.

Tietoliikenteessä[muokkaa | muokkaa wikitekstiä]

Esimerkkejä maagisien numeroiden käytöstä tietoliikenteessä:

Katso myös[muokkaa | muokkaa wikitekstiä]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. file(1) - Linux man page linux.die.net. Viitattu 2.3.2019.
  2. www.linfo.org/magic_number.html linfo.org. Viitattu 26.3.2018. (englanniksi)
  3. Marius Bancila: Inside CRT: Debug Heap Management 4.4.2005. Code Guru. Viitattu 12.5.2019. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]