Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Rozdily u OS a programu mezi: Simulace, emulace, virtualizace, prekladova vrstva?

Dobry den,
prosim vas, potreboval bych vedet, jake jsou rozdily v souvislosti s operacnimi systemy a programy mezi pojmy: simulace, emulace (jako napr. DOSBOX), virtualizace (nebo virtualni pocitac jako napr. Oracle VM Virtualbox), prekladova vrstva (nebo Sada API jako napr. WINE)?

Prosim o podrobnejsi rozepsani k jednotlivym pojmum. zajimaji me hlavne technicke rozdily, rozdily funkce, kvality, vykonu, kompatibility aplikaci, uzivatelske rozdily a taky hlavne i rozdily v bezpecnosti a stability (napr. bezpecnost hostitelskeho operacniho systemu a jeho dat pri spusteni zavirovane aplikace v operacnim systemu hosta)?

Dekuji moc.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Simulátor: Modeluje systém. Väčšinou je účelom vidieť, ako systém funguje interne. Typicky simulátor…
moose 08.08.2019 08:42
moose
Děkuji, je mi to skoro vše víceméně úplně jasné, ale pořád mi nejsou moc jasné rozdíly mezi emulátor…
Luboš123456 12.08.2019 11:06
Luboš123456
On je totiž pojem emulace docela pružný a jde o to, jak ho konkrétní člověk chápe. Někdy se pod emul…
Wikan 12.08.2019 11:22
Wikan
Dekuji. Jeste me zajima: simulator jen simuluje jev bez skutecneho provedeni nebo jev provadi bez na…
Lubos123456 12.08.2019 12:07
Lubos123456
koukej na to asi takto: simulátor NESLOUŽÍ k reálnému provozu, ale spíše k tomu, abys dokonale zjist… nový
touchwood 13.08.2019 07:45
touchwood
Velice vam vsem dekuji za odpovedi, ze jste mi vice osvetlili tema, hodne veci jsem sice vedel, nekt…
Lubos123456 12.08.2019 12:51
Lubos123456
Nejvíc bezpečné bych označil Virtualizace, pokiaľ je dobre izolovaná od hostitelského systému, a pri… nový
Mlocik97 12.08.2019 12:59
Mlocik97
Logicky - mam mozek - takze kdyz si udelam nejaky prostor na spousteni nebo testovani ruzne skodlive… nový
Lubos123456 12.08.2019 20:26
Lubos123456
Pokud je ve virtualizaci či emulaci chyba, tak možnost napadení hostitelského systému samozřejmě exi… nový
Wikan 12.08.2019 21:39
Wikan
Překladová vrstva neposkytuje prakticky žádnou ochranu. U WineHQ bych to ale netvrdil... ten izoluj… nový
Mlocik97 12.08.2019 22:43
Mlocik97
V tom případě to ale není jenom překladová vrstva. nový
Wikan 13.08.2019 06:32
Wikan
Podobný dotaz byl před časem v poradně na Živě, taky jsme tam odpovídal, dostal jsem spoustu mínusů… poslední
Yarda 13.08.2019 08:40
Yarda

Simulátor: Modeluje systém. Väčšinou je účelom vidieť, ako systém funguje interne. Typicky simulátory elektrických obvodov.

Emulátor: Nahrádza systém. Interne môže fungovať úplne inak ako pôvodný systém, hlavné je, že sa to navonok správa ako pôvodný systém. Typicky DOSBox, emulátory mobilov, emulátory iných počítačov. Na stackoverflow som našiel peknú definíciu pre rozdiel medzi simulátorom a emulátorom: Ak by ťa letecký simulátor dopravil z bodu A do bodu B, tak by to bol letecký emulátor.

Virtualizácia: Umožňuje izolovaný beh systému priamo v skutočnom systéme. Čiže napr. môžeš spustiť x64 program pre Linux na stroji s x64 Windowsom, ale ARM program na ňom bez emulácie nespustíš. Typicky VirtualBox.

Prekladová vrstva (sada API): Umožňuje spúšťať program určený pre systém A na systéme B s tým, že systémové volania systému A implementuje knižnicou, ktorá ich nahrádza systémovými volaniami systému B. Typicky WINE.

Děkuji, je mi to skoro vše víceméně úplně jasné, ale pořád mi nejsou moc jasné rozdíly mezi emulátor a překladová vrstva, jelikož popisy rozdílů mezi emulátorem a překladovou vrstvou jak od Vás, tak od jiných lidí, jsou velice podobné. Jaké jsou tedy rozdíly mezi emulátorem a překladovou vrstvou?

On je totiž pojem emulace docela pružný a jde o to, jak ho konkrétní člověk chápe. Někdy se pod emulací dá schovat i překladová vrstva, protože i tam emuluje jiné volání API.

Pojem emulace se ale obvykle používá pro vytvoření virtuálního HW - např. emulace Atari 800 na PC.
Virtualizace pro vytvoření virtuálního SW - např. virtualizace jednoho OS na jiném.
Překladová vrstva je jenom prvek mezi dvěma různými API, nic velkého jako virtální HW/SW nevytváří.

Dekuji. Jeste me zajima: simulator jen simuluje jev bez skutecneho provedeni nebo jev provadi bez naroku na adekvatni vykon a odezvu?

Protoze touchwood pise, ze simulator provadi nejakou operaci bez naroku na rychlost a odezvu, zatimco moose pise, ze simulator jen simuluje nejaky jev ktery se realne neprovadi napr. el. obvod nebo letani letadlem. Jak to je? Nebo je to pripad od pripadu?

koukej na to asi takto: simulátor NESLOUŽÍ k reálnému provozu, ale spíše k tomu, abys dokonale zjistil, jak celý systém funguje. Tedy pokud bys použil terminologii automatizace, podstatou simulace je mít pro sadu všech vstupů sadu všech výstupů. Navíc u simulátorů se často zkoumá i stav jednotlivých podsystémů (u počítačů tedy např. hodnoty registrů, stav paměti, apod.) Tj. zkoumáš, co se se systémem děje, jak celý reaguje na vstupy.

Velice vam vsem dekuji za odpovedi, ze jste mi vice osvetlili tema, hodne veci jsem sice vedel, nektere jsem tusil, ale s hodne vecmi jste mi dost pomohli.

Mam jeste 2 otazky:

1.) Jak je to s bezpecnosti - co je nejbezpecnejsi a co nejmene bezpecne? Napr. Kdyz pustim samozrejme neumyslne (na umyslne testy se samozrejme lepe vybavim) nejaky fakt nebezpecny a zakerny virus v simulatoru, emulatoru, virtualizatoru, prekladove vrstve - ve kterem pripade mi virus muze nebo nemuze prolomit ochranu nebo ohrozit, napadnout, zavirovat hostitelsky system?

2.) Jak je to s rychlosti a vykonem? U ceho je nejvyssi rychlost a vykon a u ceho nejnizsi - simulace, emulace, virtualizace, preklad API?

Dekuji.

Nejvíc bezpečné bych označil Virtualizace, pokiaľ je dobre izolovaná od hostitelského systému, a pri každom štarte sa načíta nový stav systému. Ostatne je dodržať aj tu niekoľko pravidiel bezpečnosti, najmä napríklad ak si sťahoval niečo čo by mohlo byť škodné, tak po práci s tým reštartovať virtuálny stroj aby obnovil stav jak bol na začiatku pred stiahnutím škodnej, a až potom môžete tu psát klidne i heslá. Ale ak v jednej inštancii v stejnom "stave systému" spustíte jak škodnú, ktorá by mohla odchytávať trebárs heslá, a vy by ste v tom istom čase to heslo napísali. Tak vtedy to bezpečné nieje. Ešte je možné každý program vložiť do kontajneru v rámci virtuálneho systému (sanbox) jak již zaznelo, vtedy sa netreba starať ani o toto, a v takom prípade je to úplne bezpečné.
Emulátor bych označil za asi najmenej bezpečný (menej než WineHQ, ktorý aspoň izoluje procesy).
Najväčší výkon je u preklad API (WineHQ), nejmenší bych zas označil zrejme emulaci. I když nekteré emulátori dokážu byť výkonnejšie než trebárs virtuálne systémy. U vätšiny to ale tak nieje.

Logicky - mam mozek - takze kdyz si udelam nejaky prostor na spousteni nebo testovani ruzne skodlive haveti pochybneho puvodu, tak v nem logicky nebudu pracovat s osobnimi citlivymi daty jako napr. soukromymi osobnimi soubory, zadavani hesel a prihlasovacich udaju kamkoliv nebo nedej Boze s bankovnimi ucty (ano, i takovi mozkuprosti "experti" existuji), ale na bezpecne a citlive operace pouziju bud jiny virtualni stroj nebo primo hostitelsky system. Ale dekuji za pripomenuti hlavne pro ruzne ctenare tohoto fora, hlavne rady o bezpecnosti se vyplati opalovat a stejne se vzdy najde hodne lidi co nedbaji pokynu a nakazi si system.

Mi jde spis o to, kdyz budu chtit poustet ruzne stazene programy a soubory z netu z pochybneho puvodu (jeden nikdy nevi, kam jsou nektere odkazy interne presmerovany z prochazeneho serveru pres nekolik redirectu nebo jak moc je dany server nebo soubor duveryhodny a bezpecny) ve virtualizatoru a virtualnim kompu, tak jestli viry maji nebo nemaji moznosti prolomit izolaci hostitelskeho a hostovaneho systemu napr. i treba pres nejake mezery virtualizatoru?

A jak je to v pripade emulace s bezpecnosti a izolaci hostitele od hosta pred viry?

A v pripade prekladove vrstvy s bezpecnosti a izolaci hostitele od hosta pred viry?

A jak je to v pripade simulace s bezpecnosti a izolaci hostitele od hosta? Tipuji ze u vetsiny simulaci je bezpecnost vicemene z principu dana vzajemnou nekompatibilitou (PC vs kokpit letadla, PC vs el.obvod, co tam kdo chce chytit za vir) a jinymi omezenimi (PC vs Windows bez naroku na realtime odezvu, PC vs Windows v debugeru), ne nebo je mozne taky nejak nakazit hostitelsky system napr. pri nacteni zavirovaneho souboru, programu, pluginu, ...?

Pokud je ve virtualizaci či emulaci chyba, tak možnost napadení hostitelského systému samozřejmě existuje. Ale to je teorie, v praxi je to extrémně vzácné. A pokud už k tomu dojde, tak jde o cílený útok. Kvůli domácímu uživateli to nikdo dělat nebude.
Překladová vrstva neposkytuje prakticky žádnou ochranu.

Podobný dotaz byl před časem v poradně na Živě, taky jsme tam odpovídal, dostal jsem spoustu mínusů a pak zřejmě někdo tak dotaz smazal celý.
Nevím, co je to simulátor a emulátor teď. V době kdy číslo 8080 byl pojem se simulátor říkalo programu co umožnil, aby program napsaný třeba pro tu 8080 běžel například i na minipočítači (tak se tehdy říkalo počítači co byl velký jen jako dvě šatní skříně a nemuselo se kolem něj chodit v bílých pláštích) ADT. Akorát ten program nemusel běžet stejně rychle jako v zařízení pro které byl napsaný a nebyly k dispozici periferie, které by případně řídil. Jako příklad mne napadá program co simuluje ZX Spectrum na PC a umožňuje pařit staré hry.
Emulátor bylo zařízení, které se připojilo kabelem do patice místo mikroprocesoru do zařízení co se emulátorem testovalo. Funkci vydloubnutého mikroprocesoru převzal mikroprocesor stejného typu v emulátoru, program běžel stejně rychle jako bez emulátoru, periferie byly k dispozici, navíc emulátor umožňoval třeba krokovat program, měnit program a další potřebné funkce co se hodily při vývoji daného zařízení.

Zpět do poradny Odpovědět na původní otázku Nahoru