x86 emulátorok
Az x86 processzorarchitektúra elsősorban a személyi számítógépek piacán közismert. Az x86 emulátorok ennek megfelelően többségében PC emulátorok, amelyek egy teljes x86-os személyi számítógép funkcionalitását képesek emulálni egy más platformon - például egy nem x86 processzorral szerelt személyi számítógépen, notebookon, netbookon, mobiltelefonon, vagy más eszközön. Mivel az x86 architektúra nagy múltra tekint vissza, változó, hogy melyik emulátor pontosan mely kornak megfelelő számítógépet képes emulálni. A különböző emulátorok képességei rendkívül változatosak, némelyikük csak 8088/8086-os processzort támogat, mások egészen a 64 bites utasításkészletig skálázódnak.
A technológiai háttér
[szerkesztés]Az x86 emulátorok változatos emulációs stratégiákat használnak, interpreteren (egyszerű értelmező-algoritmuson) kívül használnak még a kód egyes részein valamiféle dinamikus újrafordítást (dynarec), vagy valamilyen köztes bytekódot, amit egyszerűbb emulálni. A legtöbb x86 emulátor körülbelül 1 és 5%-os hatásfok között tud működni, mivel az x86 bytekód értelmezése komplikált (prefixek, szabad opkódelhelyezkedés, szegmentáció, MODERM, SIB byte dekódolás).
Virtuális gépek
[szerkesztés]A virtuális gépek nem egyeznek meg az emulátorokkal, de funkcionalitásuk hasonló. Ma a legtöbb x86 processzor hardveresen támogatja a virtualizációt, ennek segítségével a processzor emulációját kihagyva működésük közelíti a gazdaszámítógép sebességét. A kétezres évek vége felé terjedt el a virtualizációs utasításkészlet az x86 processzorokban, de ezt megelőzően is voltak virtuális gépek, ezek az x86-os host-architektúra léte, és speciális trükkök révén érték el, hogy ne kelljen a processzort teljesen emulálni. Hatásfokuk 20-40% körül alakult.
Emulátorok listája
[szerkesztés]Név | Architektúra | Megjegyzés |
---|---|---|
qemu | max x86-64 (nem-x86 architektúrákat is tud emulálni) | nyílt forrású, az újabb verziói virtuális gépként funkcionálnak x86-on |
bochs | max x86-64 | nyílt forráskódú |
DOSBox | 6x86 (?) | nyílt forráskódú |
bhole | 386 | csak DOS-t képes bootolni |
fx!32 | 386 (?) | megszűnt |
IA32-EL | pentium4 (?) | Itaniumon érhető el |
JPC | 486 | Javaban írt emulátor |
Mac286 | 286 | a korabeli Apple platformra írták, már megszűnt |
PowerVM Lx86 | Pentium4 | nem PC emulátor, hanem alkalmazás-szintű emulátor |
RealPC | 386 (?) | megszűnt |
SoftPC | 386 (?) | újrafordított Windows komponenseket is használ |
Vx32 | ? | alkalmazás-szintű emulátor |
Tornado64 | 6x86 | jelenleg ARM és x86 rendszerekre érhető el futtatható állomány |
Fake86 | 80186 | nyílt forrású |
jsLinux | 386 | böngészőben futó emulátor, csak Linuxot tud futtatni |
pce.js | 286 | böngészőben futó emulátor |
jsdosbox | 8086 | böngészőben futó emulátor |
Virtual x86 | Pentium PRO | böngészőben futó emulátor |
Jemul8 | ? | böngészőben futó emulátor |
Rpix86 | ? | Raspberry Pi-re tervezett x86 emulátor |
Win86emu | ? | Alkalmazás-szintű emulátor WindowsRT rendszeren |
i8086emu | 8086 | a rendszer debuggolásán a hangsúly |
8086tiny | 8086 | kis méretű, egyszerű, nyílt forrású 8086 emulátor |
PCE | 80186 | az IBM PC 5150 számítógép elemeit emulálja |
py8086 | 8086 | pythonban írt 8086 emulátor |
SPC/AT | 5x86 | freeware |
PCem | 5x86 | a hardverek széles skáláját képes emulálni |
DS2x86 | 8086 (?) | x86 emulátor NintendoDS kézikonzolra |
PC286 | 286 | megszűnt |
Virtual PC | Pentium2 | az újabb konfigurációkon virtuális gépként működik |