Bochs
| |
Original author(s) | Kevin Lawton[1][2] |
---|---|
Developer(s) | Community based; owned by Mandriva |
Initial release | 1994[3] |
Stable release |
2.6.8
/ 3 May 2015 |
Repository |
sourceforge |
Development status | Active |
Written in | C++ |
Operating system | Windows, Linux, BSD (FreeBSD, NetBSD, OpenBSD, iOS), OS/2, BeOS, MorphOS, AmigaOS[4] |
Platform | IA-32, x64 |
Available in | English |
Type | Emulator |
License | GNU Lesser General Public License |
Website |
bochs |
Bochs (pronounced "box") 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(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 runs on many host operating systems, including Android, iOS, Linux, Mac OS X, PlayStation 2, Windows, Windows Mobile.
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.
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 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 compared to other virtualization solutions which do. On the other hand, it provides additional security by completely isolating the guest OS from the hardware. Bochs is widely used for OS development, as it saves the need for constant system restarts (to test code). Bochs is also very helpful for Operating System development because of its extensive debugging features.
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 (ISA/PCI) Ethernet or Intel(R) 82540EM Gigabit Ethernet adapter (PCI)[5] |
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 or SeaBIOS | 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).
References
- 1 2 Gael Duval (March 23, 2000). "MandrakeSoft buys Bochs for Linux and commits it to Open Source". Retrieved September 21, 2011.
- ↑ Thinking inside and outside the Bochs with Kevin Lawton, By Ken Hess, August 25, 2011, ZDNet
- ↑ Bochs was written by Kevin Lawton starting in 1994., 1.1. What is Bochs?, Chapter 1. Introduction to Bochs, Bochs User Manual
- ↑ "Features". bochs.sourceforge.net. Retrieved 20 October 2016.
- ↑ "Bochs User Manual - Features". Retrieved 2016-04-06.
External links
Wikimedia Commons has media related to Bochs. |
- Bochs on SourceForge.net
- Bochs for DOS host
- x86 Emulation makes it to the Handheld PC discussion of BOCHS running under Windows CE
- Bochs project of the month interview on sourceforge.net
- A Guide and Tutorial for Windows users
- Peter-bochs debugger. A Bochs debugger frontend