Bochs


Bochs is a portable IA-32 and x86-64 IBM PC compatible emulator and debugger mostly written in C++ and distributed as free software under the GNU Lesser General Public License. It supports emulation of the processor, memory, disks, display, Ethernet, BIOS and common hardware peripherals of PCs.
Many guest operating systems can be run using the emulator including DOS, several versions of Microsoft Windows, BSDs, Linux, Xenix and Rhapsody. Bochs runs on many host operating systems, including Android, Linux, macOS, PlayStation 2, Windows, and Windows Mobile.
Bochs is mostly used for operating system development and to run other guest operating systems inside already running host operating systems. It can also be used to run older software—such as PC games—which will not run on non-compatible, or too fast computers.

History

Bochs started as a program with a commercial license, at the price of US$25, for use as-is. If a user needed to link it to other software, that user would have to negotiate a special license. That changed on 22 March 2000, when Mandrakesoft bought Bochs from lead developer Kevin Lawton and released it for Linux under the GNU Lesser General Public License.

Use

Bochs emulates the hardware needed by PC operating systems, including hard drives, CD drives, and floppy drives. It doesn't utilize any host CPU virtualization features, therefore is slower than most virtualization, rather than emulation software. It provides additional security by completely isolating the guest OS from the hardware. Bochs also has extensive debugging features. It is widely used for OS development, as it removes the need for constant system restarts.
BFE, described as a "Graphical Debugger Interface for the Bochs PC Emulator", is a graphical interface for the debugger within the Bochs PC emulator that makes it possible to debug software step-by-step at the instruction and register level, much like Borland's Turbo Debugger.

Emulated hardware