Problematiku je třeba rozdělit na dvě části:
A/ provoz binárně zcela odlišného systému na systému jiném:
Simulátor je nástroj, který funguje na úrovni vstup -> výstup, tj. simulátor používáš bez nároků na adekvátní rychlost jednotlivých operací.
Emulátor oproti tomu přidává přesnost i v časovém rozlišení, tj. je o level dál a lze ji použít jako plnohodnotnou náhradu emulovaného systému. Většinou navíc přidává podporu i pro I/O operace (tj. podpora storage, apod.)
B/ provoz binárně vzájemně kompatibilních systémů:
Virtualizace jde ve směru vícenásobného užití jednoho hardware pro více softwarových systémů.
Překladová vrstva funguje ve směru provozování aplikací v rámci jednoho systému, který původně není kompatibilní s aplikacemi pro jiný systém.