Chapter 15. Introducing Bochs

Abstract

Explains what Bochs is and a general idea of how it works. Links and briefly describes alternatives.

Introducing Emulators

An emulator is a software program that provides a virtual hardware platform. Software instructions that would be run on hardware are now interpreted by the emulator software. This allows you to "run" a different kind of computer hardware and its software in a window on your computer. Although the performance of the software run on a virtual computer will be much slower than on real hardware, it provides several advantages:

  • You can try out a completely different operating system without tinkering with your real system.
  • You can run potentially unstable software without the fear of damaging your real system.
  • For operating systems developers, it provides a way to debug the system without constant reboots.

Introducing Bochs

Bochs (pronounced "box") is an emulator written for the PC. It can run on both DOS/Windows and Linux operating systems. It emulates an x86 hardware system and has emulation for the 386, 486 and Pentium CPUs. It also provides IO port and BIOS emulation. Bochs can run Linux, DOS, Windows 95, Windows NT 4, ReactOS and many other operating systems. The software was initially written by Kevin Lawton and is now maintained by the Bochs SourceForge project. Although this project provides the latest Bochs binaries, we recommend that you test ReactOS with the Bochs binaries provided by our reactos.com Bochs page.

Other Emulators

There are other emulators which you may want to try out when testing ReactOS. Here are some worth mentioning:

  • VMWare: VMWare is a commercial product. Free trial versions are available for download from their website.
  • Plex86: Plex86 is another project started by Kevin Lawton. It is meant as the successor to Bochs and includes several new techniques to increase the speed of emulation. At the time of this writing, Plex86 only runs on Linux.