Čo sa nazýva emulácia. Spôsob emulácie volaní systémových funkcií na obídenie antiemulačných opatrení


Ciele

  • Vytvorenie nového mikroprocesora/mikrokontroléra. V tomto prípade sa príkazy tohto procesora vykonávajú pomocou emulátora (programu alebo zariadenia).
  • Potreba spustiť aj softvér napísaný pre iné zariadenie alebo operačný systém.
  • Testovanie programov napísaných pre rôzne systémy.

Emulácia hardvéru a softvéru

V prípade softvérového a hardvérového komplexu je emulátor špeciálny elektronické zariadenie, vyrobený vo forme dosky.

Softvérová emulácia

Emulácia vám umožňuje vykonávať počítačový program na platforme (architektúra počítača a/alebo operačný systém), odlišné alebo v niektorých prípadoch totožné s tým, pre ktorý bol pôvodne napísaný. Emulácia sa nazýva aj samotný proces tohto vykonávania. Na rozdiel od simulácie, ktorý iba reprodukuje správanie programu, cieľom emulácie je presne simulovať stav simulovaného systému s cieľom vykonať pôvodný strojový kód.

Pri používaní jazykov vysoký stupeň, niekedy s cieľom zachovať výkon vykonávaného programu namiesto emulácie to robia portovanie programy do nového prostredia. V tomto prípade sa prepíšu hardvérovo závislé časti kódu.

Jedným z populárnych spôsobov použitia emulácie je spustenie osobný počítač hry napísané pre hracie automaty alebo herné konzoly.

Pomerne úplná emulácia niektorej hardvérovej platformy si vyžaduje extrémnu presnosť, až na úroveň jednotlivých hodinových cyklov, nezdokumentované funkcie a dokonca chyby implementácie. To je dôležité najmä pri klasických domácich spotrebičoch ako napr Commodore 64 , ZX Spectrum , softvér ktorý silne závisí od rozhodnutí programátora. Voľba konkrétne riešenie sa vyskytuje za účelom optimalizácie (čo sa týka veľkosti alebo rýchlosti vykonávania programu), využívajú ju napríklad programátori hier, ale aj nadšenci demoscény. Takéto programy sú často založené na nezdokumentovaných schopnostiach procesora alebo operačného systému.

Na rozdiel od toho niektoré iné platformy zaznamenali pomerne malé využitie priameho hardvérového prístupu. V tomto prípade stačí poskytnúť určitú úroveň kompatibility, aby sa zabezpečilo, že systémové volania emulovaného systému budú preložené do volaní bežiaceho systému.

Emulátor sa zvyčajne skladá z niekoľkých modulov zodpovedných za rôzne podsystémy emulovaného počítača. Emulátor sa najčastejšie skladá z:

Systémová zbernica zvyčajne nie je emulovaný z dôvodov jednoduchosti alebo výkonu a virtuálne periférne zariadenie pristupuje priamo k modulu CPU a pamäťovému modulu.

pozri tiež

Poznámky

Literatúra

  • A. Aganichev, D. Panfilov, M. Plavič, O. Polyansky. Softvérový a hardvérový komplex na ladenie MP systémov založených na mikrokontroléroch rodiny MC68HC11 od MOTOROLA
  • Shagurin I., Brodin V., Kalinin L., Tolstov Yu., Petrov S., Isenin I., Eidelman S., Vanyulin V. Nástroje na navrhovanie a ladenie riadiacich systémov na báze Motorola MK.

Odkazy


Nadácia Wikimedia. 2010.

Synonymá:
  • Andrey
  • Geofyzika

Pozrite si, čo je „emulácia“ v iných slovníkoch:

    Emulácia- napodobňovanie činnosti jedného systému pomocou druhého bez straty funkčnosť a skreslenie výsledkov. Emuláciu vykonáva softvér a/alebo hardvér. Pozri tiež: Realizácia programu Finančný slovník Finam... Finančný slovník

    emulácia- Imitácia fungovania jedného zariadenia prostredníctvom iného zariadenia alebo zariadení počítača, v ktorom simulačné zariadenie vníma rovnaké dáta, vykonáva rovnaký program a dosahuje rovnaký výsledok ako ... ... Technická príručka prekladateľa

    EMULÁCIA- [Angličtina] emulácia súťaživosť, súperenie] súperenie, súťaživosť, túžba niekoho prekonať. Slovník cudzích slov. Komlev N.G., 2006 ... Slovník cudzích slov ruského jazyka

    emulácia- podstatné meno, počet synoným: 3 súťaž (8) napodobňovanie (25) rivalita (21) ... Slovník synonym

    emulácia- a f. emulácia f. Pozri emuláciu... Historický slovník galicizmov ruského jazyka

    emulácia- emuliacija statusas T sritis automatika atitikmenys: engl. emulácia vok. Emulácia, rus. emulácia, f pranc. émulation, f … Automatikos terminų žodynas

    Emulácia- 53. Emulácia Emulácia Imitácia fungovania jedného zariadenia prostredníctvom iného zariadenia alebo zariadení počítača, v ktorom simulujúce zariadenie vníma rovnaké dáta, vykonáva rovnaký program a dosahuje rovnaké... ... Slovník-príručka termínov normatívnej a technickej dokumentácie

    emulácia- a. Túžba jeden druhého v niečom predčiť; rivalita. Efraimov výkladový slovník. T. F. Efremová. 2000... Moderné Slovník ruský jazyk Efremova

    emulácia- emulácia a... ruský pravopisný slovník

Celý život som používal jednoduché telefóny a uprednostňoval som len značku Nokia. Ale život nestojí, jedného dňa som chcel telefón s fotoaparátom a prístupom na internet - je to také pohodlné! V obchode mobilné komunikácie zostava Tlačidlové modely Nokie neboli skvelé, no zrak mi hneď padol na variant 301 Dual. Páči sa mi to jednoduché, no vkusné, bez zbytočných otravných detailov. Tento telefón je v pláne vzhľad spokojný ma na 100%. Požiadal som, aby som to videl bližšie - všetko sa mi páčilo. Kúpa ma stála štyri tisícky. Okrem toho som si kúpil kožené puzdro.

Z telefónu mám dva dojmy. Spočiatku, kým som si zvykal, všetko vyzeralo super. Nedávno som vymenil svoje staré Oka za Renault Logan - a porovnanie bolo podobné. Veľmi sa mi páčilo, že na telefóne je všetko premyslené do najmenších detailov. Štýlové a pohodlné. Presne to, čo potrebujete. Postupom času sa však, samozrejme, objavili aj nevýhody, ale najskôr.

Vzhľad telefónu sa mi páči. Štýlové, elegantné, tenké. Veľmi dobrý plast. Veľkosť telefónu je pomerne veľká, no zmestí sa do vrecka. Displej telefónu je veľký, farby nerušia, odtiene jemné a príjemné na pohľad. Tlačidlá sú pohodlné, navyše sa časom neopotrebujú, ale je možnosť, že sa budú nafukovať (mal som už telefón s podobnou “pevnou” klávesnicou a vždy mi opuchla z bežného používania, dúfam, že s týmto telefónom sa to nestane). Polyfónia telefónu je jasná, no relatívne tichá. Na ulici a niekedy aj doma ho nepočujem a vždy zmeškám hovory. Platí to pre „natívne“ signály aj pre stiahnutú hudbu. Je to nepríjemné. Ale napríklad na počúvanie hudby je reproduktor ideálny. Občas doma počúvam rádio hlasitý odposluch- znie to ako dobrý magnetofón. Menu v telefóne sa mi veľmi páči, je pohodlné, k dispozícii sú rôzne aplikácie. Telefónny zoznam je úžasný! Tu máte aj grófa pod svojim menom a priezviskom. Ku kontaktu môžete pridať veľa čísel, veľa možností. Ale nie je tam hlavná vec, čo by podľa mňa malo byť na každom telefóne – čierna listina. Problém zhoršuje skutočnosť, že môj mobilný operátor neposkytuje službu blokovania čísel. Vyskúšali ste to podľa odporúčania znalý človek nájsť zodpovedajúcu aplikáciu - ale márne. Musel som si teda zmeniť číslo a dávať si pozor na okruh ľudí, ktorí ho poznali.

Internet.... Toto je samostatný rozhovor. Dosť primitívne. Ak hľadáte telefón, ktorý vám umožní pohodlnú komunikáciu v sociálnych sieťach, zabudnúť na počítač - prejsť okolo. Z tohto telefónu si môžete prezerať iba aktualizácie. Kým sa stránky načítajú, odhryznete si všetky nechty. A už som si zvykol na neustále chyby: akcie veľmi často nikam nevedú. Platí to aj pre odosielanie správ, komentárov a načítavanie stránok (prvýkrát spravidla všetko funguje „nečinne“). Pred odoslaním správ vždy skopírujem: ak akcia nefunguje, celý text je fuč. Stáva sa, že to isté sa posiela aj stokrát. A čo sa týka lajkov, to je iný príbeh. Takže, keď si prezeráte svoj informačný kanál, páči sa vám to, čo sa vám páčilo, a posúvate sa ďalej, však? Všetko je tu komplikované. Zvyčajne sa dáva prvý like a druhý posiela váš spravodajský kanál na úplný začiatok. A tak pravidelne! V poslednej dobe stále viac premýšľam o kúpe nového dotykového telefónu založeného na Androide, pretože všetky tieto nedokonalosti ma začali dosť dráždiť: vyžaduje to veľa času a nervov.

A telefón sa často pokazí, čo som od Nokie úprimne nečakal. Bez zjavného dôvodu sa obrazovka zmení na bielu a celý systém sa znova reštartuje. Nepáči sa mi, že pri písaní textu nevidíte písmená na slnku, nepáči sa mi fotoaparát... Očividne nie 3.2! Maximum sú 2 megapixely. Áno, a telefón funguje trochu pomaly, aj keď moja pamäť je takmer prázdna (na jeden hovor sa načíta iba jedna skladba). Pokiaľ ide o možnosti, telefón sa zdá byť inteligentný, ale vo vnútri je veľa mien, ktorým nerozumiem. Napríklad „emulácia hovoru“ - čo to je?

Celkovo som sklamaný. Čakal som lepšie. Páči sa mi dizajn, všetko ostatné je také. Časom si kúpim ďalšie. Telefónu dávam v priemere tri body, ale na kúpu odporúčam: pomer ceny a kvality je celkom primeraný.

Aktualizujem svoju recenziu šesť mesiacov po zakúpení. Dnes je 3. januára 2015. Stále používam svoj telefón, aj keď som mal najprv divokú túžbu ho zmeniť. Časom som si na to zvykol, teraz sa mi to páči a už nechcem nič iné. Na prácu na internete som si nainštaloval prehliadač Opera a teraz všetko funguje dobre. A ukázalo sa, že fotoaparát nie je taký zlý. Povedal by som, že kvalita fotografií bude pravdepodobne lepšia ako pri iných modeloch tohto telefónu cenovej kategórii a niektoré z tých, ktoré sú drahšie. Môžete si ich vytlačiť a nehanbite sa ich zverejniť na sociálnych sieťach. Jedinou výhradou je, že z nejakého dôvodu robí lepšie fotografie v interiéri ako vonku. Tlačidlá sa časom neopuchli, nemal som dôvod na obavy. A samotný telefón nestratil svoj „predajný“ vzhľad. Z času na čas, ako predtým, zachytí chyby, ale nie často. Párkrát sa stalo, že sa telefón sám vypol a dlho som ho nevedel zapnúť. neviem s čím to súviselo. Moja pamäť nie je vôbec plná (neukladám do nej fotky ani hudbu, iba SMS a kontakty). Mením „tri“ na „štyri“ body. Nie je to taký zlý telefón.

Asi pred šiestimi mesiacmi som dostal otázku asi takto: „Používam veľký rámec, ktorý spúšťa určitú funkciu na základe akcie používateľa. Chcem bez zmeny kódu tejto funkcie spustiť svoj kód v prípade volania tejto funkcie.“ Prax nie je ani zďaleka najlepšia, udalosť volania funkcie neexistuje, len som si krútil prstom na spánku a povedal, že toto je hrozný kód, toto by ste nemali robiť a to je jednoducho nemožné.

Pred pár dňami, cestou domov v relatívne teplý zimný večer, ktorý nie je typický pre Odesu, ma napadla netypická myšlienka: „Čo ak skúsim urobiť to, čo Bogdan požiadal pred šiestimi mesiacmi?“ Keď som prišiel domov, zapol som počítač a za pár minút som urobil, čo som mal na mysli. V prvom rade ma zaujímalo, ako sa budú správať vstavané metódy pri ich prepisovaní a či je potom možné nejako zavolať ich predchádzajúci stav pred prepisom. Vedel som, že ak sa objekt predefinuje, odkazy naň sa nezničia, pričom sa zachová rovnaký vzhľad. Pokiaľ ide o vstavané funkcie, existovali pochybnosti. Ukazuje sa, že je to možné.

S najväčšou pravdepodobnosťou nikdy nebudem musieť použiť takýto nástroj, ale čisto hypoteticky, možno bude mať niekto za úlohu sledovať volanie konkrétnej funkcie a dostávať správu o každom hovore, ktorá pozostáva z:

  1. Výsledok popravy
  2. Argumenty prešli
  3. Kontext hovoru (čo je to pri volaní)
  4. Počet volaní funkcií po vytvorení obsluhy
(Tento zoznam plne zodpovedá argumentom odovzdaným obsluhe)

addCallListener = function(func, callback)( var callNumber = 0; return function())( var args = .slice.call(arguments); var result; try ( result = func.apply(this, arguments); callNumber++; ) catch (e) ( callback(e, args, this, callNumber); throw e; ) callback(result, args, this, callNumber) )

Veľmi jednoduché a krátke, však?

Potom predefinujeme niektoré funkcie takto:

SomeFunct = addCallListener(someFunct, function(result, args, self, callNumber)( //Urob niečo )); // alebo Constructor.prototype.method = addCallListener(Constructor.prototype.method, function(result, args, self, callNumber)( //Urob niečo ));

Je zrejmé, že by to malo byť „viditeľné“ v časti kódu, kde sa to deje.

Niekoľko príkladov
Ak chcete spustiť príklady, musíte mať otvorenú konzolu (v prehliadači Chrome ju nazvite Ctrl+Shift+i).

Ďakujem súdruhom z fóra javascript.ru za kritiku a dodatky.

UPD
Mierne som rozšíril funkciu: teraz namiesto jedného spätného volania je objekt odovzdaný ako druhý argument

  1. pred (vyvolané pred spustením funkcie)
  2. úspech (volaný, ak bola funkcia úspešne dokončená)
  3. chyba (ak sa vyskytla chyba)
  4. po (zavolané v každom prípade, bez ohľadu na úspech)
Každému psovodovi je odovzdaný predmet
  1. seba (kontext)
  2. meno (názov funkcie)
  3. stav ("chyba" alebo "úspech")
  4. successNumber (počet úspešných hovorov)
  5. errorNumber (počet volaní s chybou)
  6. výsledok (výsledok, ak existuje)
  7. chyba (chyba, ak existuje)
Okrem toho je funkcia addCallListener teraz súčasťou objektu konštruktora Function, aby sa zabránilo zásahu do okna alebo procesu.

Tu môžete forkovať a testovať.