Een emulator maakt het mogelijk om een computersysteem na te bootsen in een eigen of nieuwe omgeving.
Hardware
Een hardware-emulator bestaat uit hardware en doet zich voor als (een deel van) een computersysteem. Dit wordt gebruikt om extra mogelijkheden te hebben bij de ontwikkeling van hardware. Een hardware-emulator kan bijvoorbeeld stap voor stap een proces doorlopen.
Wanneer een deel van een apparaat wordt nagebootst terwijl het apparaat verder gewoon werkt, dan spreekt men van een "in-circuit emulator", wat afgekort wordt door ICE. Vaak is het de processor die nagebootst wordt.
Door het vervangen van de microcode is vrijwel elke denkbare emulatie mogelijk.
Software
Een software-emulator is een computerprogramma dat het mogelijk maakt om programma's te gebruiken, die voor een andere computer ontwikkeld zijn. Hiertoe kan een virtuele machine worden opgezet. Het gaat hierbij om een programma (software), maar dat programma is wel in staat om hardware te simuleren (hardwarevirtualisatie).
Op deze manier kunnen bijvoorbeeld programma's voor een Apple gebruikt worden op Windows. Omdat het emuleren zelf veel rekenkracht vergt, is de snelheid van de programma's die in de emulator draaien veel lager dan de programma's die in het moederbesturingssysteem werken. Hoeveel lager hangt van de emulator af.
Emulators hebben hun beperkingen, niet alle instructies worden altijd geëmuleerd, zodat niet alle programma's in de emulator draaien zoals in de oorspronkelijke machine. En sommige programma's werken helemaal niet.
Door de ontwikkeling van verschillende softwarematige emulators is het mogelijk om een veelheid van programma's via emulatie uit te voeren. Er zijn verschillende manieren voor emulatie, en ook zijn er verschillende tussenoplossingen.
Computer- en besturingssysteememulatie
Ook de wat oudere computersystemen, zoals Mac OS 8, kunnen onder Windows prima werken. Uit historisch of demonstratieoogpunt is dit soort activiteiten wenselijk, als men niet meer fysiek over het bewuste (oude) systeem beschikt. De software VMWare of Basilisk II voor Apple-emulaties kan hiervoor gebruikt worden. Elk computersysteem heeft zijn eigen specifieke voor- en nadelen. Met emulatie kan men prima vergelijken en analyseren. Een alternatief voor de betaalde software is het Duitse Bochs, een opensourceproject.
Door emulatie kan ook een programma uitgeprobeerd worden, zonder het besturingssysteem in gevaar te brengen. De emulatie vormt zo een beschermende laag.
DOS-emulatie
- VMware is in staat om oudere DOS- en/of 8/16 bits-Windows 3.11/95-programmatuur bijvoorbeeld onder Linux of Windows 7 te draaien, want programma's uit die beginperiode (waaronder BASIC-programma's) werken vaak niet goed onder nieuwe Windows-versies, en niet standaard onder Linux.
- DOSBox is speciaal gemaakt om DOS-spellen in Linux en Windows te spelen.
- DOSEMU integreert het besturingssysteem FreeDOS.
Spelcomputer-emulatie
Emulators worden veel gebruikt voor het spelen van oude computerspellen (retro-gaming).
Zo is tegenwoordig eenvoudig de Commodore 64 uit de jaren 80 via emulatie onder Windows te laten draaien met onder andere alle destijds populaire spelletjes. Ook voor andere populaire spel- en homecomputers zijn emulatoren. Zo zijn er o.a. emulatoren voor:
- Acorn BBC
- Aquarius
- Atari
- Commodore Amiga
- MSX
- Nintendo-systemen
- PlayStation en PlayStation 2
- Sega-systemen
- Xbox
- ZX Spectrum
- MAME
Speelkastemulatie
Het MAME-project richt zich op de emulatie van speelkastspellen. Het is een van de bekendere emulatieprogramma's met een enorm aantal beschikbare ROM's (meer dan 2000), waardoor het mogelijk is om oudere maar ook recente speelkastspellen onder Windows te draaien. Ook voor Linux en OS X zijn versies beschikbaar.