Slashdot Mirror


Bochs x86 IA-32 Emulator 2.1 Released

Asmodeus writes "Just noticed that the 2.1 release of the Bochs IA-32 emulator is out at the Bochs home page For those not in the know, Bochs is an open source implementation of the x86 instruction set(s) and a virtual PC (al la VMWare) which is capable of booting FreeDOS and Linux under the host control of another OS."

14 of 216 comments (clear)

  1. Bochs is not like VMWare by enosys · · Score: 5, Informative
    Bochs is not like VMWare.

    Bochs emulates the IA-32 instruction set and enables you to run IA-32 software on any sort of hardware that you can compile Bochs on. (eg. I once ran it on a MicroVAX at an incredibly slow speed)

    VMWare requires IA-32 hardware. Most of the instructions are executed natively and only some of the priviledged operations are emulated so that whatever is run under VMWare can work as if it has full control over the CPU while in fact being an un-priviledged task.

  2. capable of running serious OSes as well by Anonymous Coward · · Score: 5, Informative

    Bochs isn't just capable of running DOS clones:

    Operating Systems inside the emulation including Linux, Windows(R) 95, DOS, and Windows(R) NT 4

    It can also run Windows 2000 - and probably XP as well if product activation works.

    1. Re:capable of running serious OSes as well by acidrain69 · · Score: 5, Interesting

      And it runs on more than just IA-32. I have it running on my dual Alpha 533. Runs win98.

      --
      -- Having a Creationist Museum is like having an Atheist place of worship
    2. Re:capable of running serious OSes as well by cujo_1111 · · Score: 5, Funny

      Isn't that the ultimate disgrace for an Alpha system? Maybe Win95 would be worse, but not by much.

      --
      If I point out that you are incorrect, making me a foe does not make you any more correct.
  3. Bochs needs to be re-boxed. by 0x1337 · · Score: 5, Interesting

    Wow.... ummmm.... slashdot?

    Could we not post "news" about things that came out an eon ago? Seriously... ROFL,,,,

    ----->

    Bochs is kind-of OK. I use it regularly when I work on my exokernel project and it really IS A GREAT developing/debugging tool (especially if compiled with the GDB stubs ;-)).

    However, however, however... I wouldn't consider Bochs useful for anything other than hacking around with kernel/os stuff. Bochs needs a re-write from scratch and emulate a real standard PC motherboard - not an 80386 with i486, pentium, athlon, mmx, PCI, USB, ATA etc... hacks around it. PCI support is non-existent. Video is flakey - well you can get VESA-compliant > 800x600 if you physically change the source (easy). All emulated devices are ISA "bus"-based. Over the years stuff just kind-of gotten piled on, and on and on - with no sensible strucure. I am not talking out of my ass either - at some point in my life I felt that Bochs would be a great project to hack.

    1. Re:Bochs needs to be re-boxed. by gl4ss · · Score: 5, Interesting

      for early 90's era games dosbox does excellent job most of the time. http://dosbox.sourceforge.net/

      --
      world was created 5 seconds before this post as it is.
  4. Bochs is not your answer by gotr00t · · Score: 5, Insightful
    Bochs is actually an emulator for an IA32 system, and though it has support for some Windows operating systems, don't expect to be able to do much with it, because its intent was not really to run windows programs on Linux and other OSes.

    Many others have already posted this, but VMware != Bochs, because VMware uses virtulization to run a guest OS with minor overhead on a host system. Bochs, on the other hand, emulates everything, even if the host system is IA32, causing massive performance degredation. I see that your applications are rather large scale(3DSMAX and Adobe applications) - and probably would rely heavily on graphics adaptor and memory. Bochs is definately not your answer, as if you could even get it to work, it would be so incredibly slow that you'll forget why you were doing it in the first place before the program even loads (trust me, it has happened before).

    Look to VMware to do things like this - it may have a fee attached, but its fast and capable, but not open source.

    1. Re:Bochs is not your answer by Bob.Smart · · Score: 5, Interesting

      qemu seems to do emulation right. It would be nice if the emulation community would get behind it.

  5. Bochs is painfuly slow by exp(pi*sqrt(163)) · · Score: 5, Informative

    But if it's retro DOS games you're after check out dosbox which runs pretty fast and runs on many platforms.

    --
    Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
  6. Bochs is... by simrook · · Score: 5, Insightful

    great for OS Systems development, but not much more. If you are programming an operating system, there is nothing better then Bochs running with gdb debugging stubs. Peroid. All this talk "Bochs can't run photoshop at a good speed" and "Bochs takes for ever to load windows" is bulljive. Of course it does, because that's not the point! Why do I own a 386 and use it with DOS 6.22? Because I want to do assembly programming and test out algorithms written in IA32 assembly. If I tried to run PS 8 and WinXP on it and subsequently complained about the speeds, I'd be flamed to death. The same goes for bochs. Kudos to the developers! A lot of great improvements were put into this release, everything from 3D assembly instructions to a whole new disassembler. Bochs is every OS Developer's dream come true. And it's just gettin' better... (Also, the best "bug fix" imho is that you don't need an extra font installed in X-Windows now). And if you want to emulate windows and have it run fast, go buy a $400 PC from Walmart. They play quake fine while waiting for the latest kernel to compile. :-> - Simrook

    --
    'Truth' is linked in a circular relation with systems of power which produce and sustain it...
  7. Check out qemu by lsd · · Score: 5, Interesting

    If you want a free, open-source and (fairly) portable x86 emulator that provides better performance than Bochs then you could do far worse than QEMU. It uses a nifty dynamic recompilation techinque for its CPU emulation which gives much better speed than Bochs's interpretive emulation while remaining relatively easy to port.

    It's a young project, and it has a long way to go before it'll be a real alternative to VMWare for most people, but it's getting there pretty quickly - the recently released 0.5.2 can already run Windows 98.

  8. Bochs vs. VMWare vs. Plex86 background by arrianus · · Score: 5, Informative

    This post has no point. It just provides some general (hopefully interesting) background info.

    As many people pointed out, Bochs is an x86 emulator, rather than a virtualization system like VMWare. Emulation means that you have a representation of an x86 machine in memory, look at each instruction, and change the representation appropriately. Virtualization means the code runs on the actual CPU natively, and uses 386 ninja powers to intercept all I/O calls and reroute them to the base OS.

    As a result, Bochs will run on any platform. VMWare will only run on x86. Bochs is slow enough to be useless for most common uses (a bit over a 100x hit in speed). VMWare has almost no hit in speed.

    However, the free software community did have a project that attempted to reimplement VMWare. That project was called Plex86 (http://plex86.sourceforge.net/). For reasons that I do not know, Plex86 recently reinvented itself not to do full hardware virtualization -- rather, it does not implement the I/O layer, and instead provides special drivers for Linux to talk to its I/O layer. As a result, it can only run Linux (although it claims to run it reasonably well). They may implement drivers for other platforms, but I would be fairly sceptical of any real Windows support anytime soon. That seems a lot less useful now...

    The Plex86 project, however, claims the possibility of using their virtualization technology in conjunction with Bochs to make a useable system: "There is the potential to use plex86 as an accelerator for bochs, as was demonstrated some time ago." (source: Plex86 FAQ). Likewise, it seems that if Bochs was more intelligently implemented, they could use just-in-time recompliation, a la Java or Transmeta, since they are effectively treating the x86 ISA as bytecode. That would be in the very, very distant future, but if either of these is implemented, the Bochs project is not as hopeless for end-user use as it may at first seem... Either or both of these technologies ought to give reasonable performance.

    One problem is that VMWare is creating a patent minefield in front of Plex86 and Bochs. I am not familiar with all of the patents, but from what I've heard, they've got a pretty wide field of IP cut out. I'm not sure how hard they'll exploit it, since the people working there seem like nice guys, and understand the whole open/Linux/GNU/free/etc. thing. On the other hand, so did Caldera a few years back, and VMWare is definitely getting those patents for a reason....

    One final point -- properly used, emulators like Bochs can provide amazingly powerful debugging tools. You can run a full x86 machine (admittedly at very slow speeds), but grab snapshots of the system memory at different points. You can then roll back, use a capture of all inputs to roll forward, etc.

  9. Virtualization... by fnord123 · · Score: 5, Informative
    Bochs isn't meant to be a high performance virtualization, as other posters have already clarified.

    Plex86 (and Xen, VMware, and Connectix, and Ensim, and others) are the things people should look at if they want fast virtualization of x86. The trouble all these technologies run into is that IO has to go through the "host" OS (the one actually running on the metal) - often popping into userspace to do it (read: context & ring switches --> slow!). This is necessary in order to allow multiple virtualized OS's to share the IO devices. This causes stuff that is IO intensive (games, compilers, databases, etc.) take a fairly serious performance hit. Interestingly enough, Intel is working on building this sort of capability in the chips directly - check out Vanderpool for instance. I don't know if AMD is doing anything similar, anybody heard anything?

  10. Boch CAN run Windows XP as a guest OS by rcb1974 · · Score: 5, Informative

    I got bochs v2.1 to run Windows XP without any problems. The trick is to configure bochs with --enable-cpu-level=5 --disable-sse.

    Here are some screenshots and a howto