On GNU/Linux, Bochs can simulate a network card thatĩ9 communicates with the world, but on MacOSX the simulated network card may notġ00 work because the communication code between the device model and the MacOSXġ01 operating system has not been written.ġ06 107 Bochs was written by Kevin Lawton starting in 1994. For this reason, certain features are supported on some hostĩ8 platforms and not others. Sending a network packet inĩ6 FreeBSD requires different code than sending the packet in Windows XP, forĩ7 example. Theseĩ4 interactions between Bochs and the host operating system can be complicated,ĩ5 and in some cases they are host platform specific. When theĩ2 simulated machine sends a network packet to the local network, Bochs uses theĩ3 host platform's network card to send the packet out into the real world. When the simulated machine needs to read from the simulated hardĩ1 disk, Bochs reads from a disk image file on the host machine. When you press aĨ9 key in the Bochs display window, a key event goes into the device model for theĩ0 keyboard. Whenever the simulated machine talks to theħ8 hardware or enters certain privileged modes (such as in kernel code),ħ9 the simulator typically takes control and simulates that code inĨ0 software at much slower speed, just like Bochs does.Ĩ2, but they are neither portable to non-x86 platforms nor openĨ7 To do anything interesting in the simulated machine, Bochs needs to interactĨ8 with the operating system on the host platform (the host OS). Commercial PC emulators (VMware, Connectix, etc.) canħ2 achieve much high emulation speed using a technique calledħ5 Virtualization takes advantage of simulating x86 instructions on anħ6 x86 machine, allowing large portions of the simulation to take placeħ7 at native hardware speed. To model theĦ9 processor accurately, Bochs must run many instructions for every simulated x86ħ0 instruction, and this makes the simulated machine many times slower thanħ1 the physical machine. However,Ħ8 the downside of Bochs' approach is simulation performance. In other words, itĦ3 does not depend on the native instructions of the host machine at all.Ħ4 This is both a strength and a weakness, and it's the major difference betweenĦ5 Bochs and many other x86 emulation software such as VirtualBox, VMware, etc.Ħ6 Because Bochs uses software simulation for every single x86 instruction, itĦ7 can simulate a Windows application on an Alpha or Sun workstation. No matter what theĦ2 host platform is, Bochs still simulates x86 hardware. The guest platform is the operatingĥ9 system and applications that Bochs is simulating.Ħ1, including x86, PPC, Alpha, Sun, and MIPS. The host platform isĥ8 the machine that runs the Bochs software. This approach allows BochsĤ7 to run a wide variety of software with no modification, include most popularĤ8 x86 operating systems: Windows 95/98/NT/2000/XP and Vista, all Linux flavors,ĥ3 Bochs is written in the C++ programming language, and is designed to runĥ6 Since Bochs can run on one kind of machine and simulate another machine, weĥ7 have to be clear in our terminology to avoid confusion. Because BochsĤ5 simulates the whole PC environment, the software running in the simulationĤ6 "believes" it is running on a real machine. Bochs can be compiled to emulate many differentģ9 x86 CPUs, from early 386 to the most recent x86-64 Intel and AMDĤ0 processors which may even not reached the market yet.Ĥ1 42 Bochs interprets every instruction from power-up to reboot, and hasĤ3 device models for all of the standard PC peripherals: keyboard, mouse,Ĥ4 VGA card/monitor, disks, timer chips, network card, etc. As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers.Īlternatively you can here view or download the uninterpreted source code file.Ī hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.ģ6 Bochs is a program that simulates a complete Intel x86 computer.ģ7 It includes emulation of the Intel x86 CPU, common I/O devices,ģ8 and a custom BIOS.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |