Jump to content

Bochs

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Snarespenguin (talk | contribs) at 20:38, 25 April 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Bochs
Developer(s)Community based; owned by Mandriva
Stable release
2.5.1 / January 6, 2012; 12 years ago (2012-01-06)
Repository
Written inC++
Operating systemCross-platform
Available inEnglish
TypeEmulator
LicenseGNU Lesser General Public License
Websitebochs.sourceforge.net

Bochs (pronounced "box") is a portable x86 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(s) (including protected mode), 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 (precursor of Mac OS X). Bochs can run on many host operating systems, like Windows, Windows Mobile, Linux, Mac OS X, iOS, PlayStation 2.

Bochs is mostly used for operating system development (when an emulated operating system crashes, it does not crash the host operating system, so the emulated OS can be debugged) 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.

It uses SeaBIOS.

History

Bochs started as a program with a commercial license, at the price of 25 USD, 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 (now Mandriva) bought Bochs from lead-developer Kevin Lawton and released it for Linux under the GNU Lesser General Public License.[1]

Use

Bochs can emulate the hardware needed by the guest operating system, including hard drives, CD drives, and floppy drives. Disk and ISO images can be "inserted" while the system is being run. However, the system performance is very poor because it is only emulated. It doesn't provide any CPU virtualization features. But it is useful for capturing screen shots in researching old DOS software. Bochs is widely used for hobbyist OS developing, as it saves the need for constant system restarts (to test code). Bochs is also convenient for OS developers because it has error reporting and dump files that other emulators may lack.

BFE makes it possible to debug software step-by-step at the instruction and register level, much like Borland's Turbo Debugger.

Emulated hardware

Class Device
Video card Cirrus Logic CL-GD5430 ISA
Cirrus Logic CL-GD5446 PCI
Sound card Sound Blaster 16 card (ISA, no Plug & Play)
Ethernet network card NE2000 Ethernet[2]
Chipset Intel 440FX PCI. Host-to-PCI bridge (PMC/DBX), PCI-to-ISA bridge, PCI IDE controller (PIIX3) are available. For PCI cards there are 5 PCI slots.
USB Root hub and the devices mouse, tablet, keypad, disk.
SMP Can simulate up to 8 CPUs.
Enhanced BIOS ElTorito, EDD v3.0, basic APM, PCIBIOS features, PCI interrupt routing table. 32-bit init for ACPI, SMM and SMP.

PlayStation 2 port

The PS2 version was ported by KarasQ (psx-scene forums)

See also

References

  1. ^ Gael Duval (March 23, 2000). "MandrakeSoft buys Bochs for Linux and commits it to Open Source". Retrieved September 21, 2011.
  2. ^ "Bochs User Manual - Features". Retrieved September 21, 2011.