Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms.
It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS.
Currently, Bochs can be compiled to emulate a 386, 486, Pentium/PentiumII/PentiumIII/Pentium4 or x86-64 CPU including optional MMX, SSEx and 3DNow! instructions.
Bochs is capable of running most Operating Systems inside the emulation including Linux, DOS, Windows® 95/98 and Windows® NT/2000/XP or Windows Vista. Bochs was written by Kevin Lawton and is currently maintained by this project.