Platform emulation with Bochs

“Bochs is an x86 PC emulator and debugger licensed under the
lesser GNU Public License (GPL). The platform provides emulation of
an entire PC platform, including one or more processors and various
PC peripherals, such as hard disks, display, CD-ROM drives, and
other common peripherals. You can use Bochs to run operating
systems targeted for PC platforms, and it’s also an ideal
application for operating system development (because crashes of
the operating system under development can be isolated within the
guest in addition to the debugging capabilities that Bochs
provides). Bochs accomplishes this through emulation, but it comes
at the cost of performance.

“Let’s take a quick detour and understand the difference between
emulation and the more common virtualization methods available

“Platform emulation

“Bochs is a platform emulator, which means that it’s not
actually virtualization in the modern sense but rather a
simulation. In virtualization, the hypervisor and virtual machines
(VMs) execute on the bare-metal hardware (with the hypervisor
creating the environment to share the hardware amongst the VMs,
commonly through hardware instructions). This process is commonly
called direct execution, because the instructions are executed
directly by the host processor. This type of virtualization uses
support from modern-day processors (such as Intel Virtualization
Technology for x86 [VT-x] or AMD virtualization [AMD-V]). Emulation
commonly provides a layer between the VM and the underlying
hardware and operating system to create the illusion of the desired
platform environment as shown in Figure 1.”

Complete Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis