Emulátor

Emulátor je v informatike druh softvéru umožňujúci beh počítačových programov na inej platforme (architektúre, operačnom systéme), než pre ktorú boli pôvodne vytvorené a ktorú samy od seba podporujú. Typickým príkladom emulátora je program umožňujúci beh videohier známych z herných konzol na bežnom PC pod Microsoft Windows alebo Linuxom. Emulácia je špeciálnym prípadom virtualizácie (niekedy je však chápaná ako silnejší pojem).

V informačno-teoretickom zmysle možno podľa Church-Turingovej tézy ľubovoľné výpočtové prostredia emulovať na ľubovoľnom inom. Táto teoretická vlastnosť však v praxi naráža na dve hlavné prekážky: Príslušná emulácia môže byť pre praktické účely príliš pomalá, avšak najčastejšou prekážkou je zlá dostupnosť informácií o pôvodnej architektúre (platí pre proprietárny softvér). Pri tvorbe emulátora je potom potrebné používať metódy reverzného inžinierstva.

Emulátory vo výpočtovej technike

Emulátory sa všeobecne odvolávajú na schopnosť počítačového programu alebo konkrétneho zariadenia napodobniť, emulovať iný program či zariadenie. Typický príklad možno nájsť vo svete tlačiarní. Mnoho tlačiarní je navrhnutých tak, aby dokázali napodobniť tlačiarne spoločnosti Hewlett-Packard, pretože sú popísané vo veľkom počte programov. Ak tlačiarne iných výrobcov dokážu emulovať tlačiarne HP, sú schopné tlačiť z programov, ktoré by s týmito tlačiarňami normálne nepracovali.

Emulátor nemusí vystupovať len ako softvér, ktorý napodobňuje, emuluje iné prostredie, ale aj ako hardvérový emulátor. Ide napríklad o DOS kompatibilné karty, ktoré sa vyskytli v predchádzajúcich verziách Macintoshov pod názvom Centris610 alebo Performa 630. Vďaka tomu boli majitelia takého počítača schopní spúšťať programy známe z PC.

Emulácia využitá pre uchovanie dát

Emulácia sa zaoberá obnovovaním pôvodného počítačového prostredia, ktoré už napríklad na nových platformách nemusí byť dostupné, toto sa dá využiť aj na uchovávanie zastaralejších súborových typov. Vďaka tomu je možné pôvodný (starší) softvér prevádzkovať aj na aktuálnych typoch operačných systémov.

Emulovaná aplikácia prináša užívateľovi pôvodný vzhľad aj funkčnosť softvéru na aktuálnej platforme.[1] Vďaka tomu má užívateľ prístup k akémukoľvek softvéru alebo operačnému systému na súčasnej platforme, zatiaľ čo emulovaný objekt beží vo svojom typickom prostredí.[2] Jeffery Rothenberg, je jedným z prvých zástancov emulácie, ktorý vyriekol myšlienku, že by sa emulácia mala využiť na udržiavanie digitálnych informácií. Išlo by tak podľa Rothenberg o "ideálne rozšíriteľné a dlhodobé riešenie, ktoré by zabezpečovalo interoperabilitu jednotlivých súborových verzií". Keby teda bolav praxi vytvorená nová verzia nejakého softvéru, skôr než migrácie starších podporovaných súborov by sa dal vytvoriť jednoduchý emulátor pre aplikácie, ktorý by umožnil prístup aj k starším typom súborov.

Výhody emulátorov

  • Emulátory zachovávajú celkový vzhľad i chovanie pôvodnej aplikácie. To je rovnako dôležité ako samotné dáta takýmto spôsobom zobrazené.[3]
  • Počiatočné náklady na vývoj alebo obstaranie emulátora môžu byť vyššie, ale s postupom času sa takáto investícia rýchlo vráti (nákup nových verzií aplikácií a pod.).[4]
  • Emulátory zároveň znižujú počet hodín strávených na migráciu starších súborov do nových aplikácií. Akonáhle je emulátor naimplementovaný, využíva sa pre všetky súbory a užívateľ s nimi pracuje rovnocenne.[2]
  • Mnoho emulátorov bolo vydaných pod GNU General Public License ako open source prostredie, čo umožňuje významným spôsobom minimalizovať náklady na nákup, ale zároveň umožňuje využitie vo veľkom.[5]
  • V zábavnom priemysle umožňujú emulátory spúšťanie videohier, ktoré sú určené pre konkrétne typy platforiem, spúšťať napríklad na PC. Teoreticky je tak možné hrať hru z platformy Xbox 360 na klasickom PC len s tým rozdielom, že videohra pobeží práve v emulátora.

Nevýhody emulátorov

  • Najväčšou prekážkou emulácie sa často uvádza duševné vlastníctvo. Mnoho dodávateľov technológií sa snaží pri vývoji programu rozšíriť svoje miesto na trhu a súčasne s tým existujúce programy rozširovať a vylepšovať tak, aby zostali konkurencieschopné. Títo dodávatelia často vydávajú takzvaný proprietárny softvér, ktorý im zaručí výsadné postavenie na trhu. Vďaka tomu je ale schopnosť neskoršej emulácie ich produktu znemožnená, pretože produkt je chránený licenciou.[6]
  • Autorské zákony ešte nepokročili do tej podoby, aby emuláciu proprietárneho softvéru dostatočne opísali.[7]

Emulátory v moderných médiách

Na emuláciu sa často nahliada ako na istotu a stratégiu k uchovaniu existujúcich digitálnych objektov a dát. Toho sa využíva aj v moderných médiách. Napríklad Cory Arcangel sa špecializuje na oživenie zastaraných technológií a jeho práca je uznávaná hlavne z hľadiska významu uchovania digitálnej kultúry. Najväčším významom emulácie v moderných médiách je uchovanie dát na dobu neurčitú a ich spätná a bezchybná interpretácia. Neskoršia interpretácia dát nie je závislá na žiadnom konkrétnom hardvéri, ktorý taktiež s postupom času významne zastaráva. Paradoxom zostáva, že emulátory musia byť schopné bežať aj na budúcich platformách tak, aby bola možnosť staršie dáta kedykoľvek v budúcnosti obnoviť.

Zástupcovia emulátorov

Microsoft Windows

Unix

Emulátory pre mobilné zariadenia

Referencie

Zdroj

  • Tento článok je čiastočný alebo úplný preklad článku Emulator na anglickej Wikipédii.
  • Tento článok je čiastočný alebo úplný preklad článku Emulátor na českej Wikipédii.