Jump to content
  • Advertisement
Sign in to follow this  
TimChan

VM for OS development

This topic is 4467 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I wonder which VM is the best for OS development? it seems that it should be one of the three most popular VMs: VMware WS, Virtual PC and Bochs.

Share this post


Link to post
Share on other sites
Advertisement
As far as I'm aware, of the three you listed only bochs is an emulator. I can't say for certain about VMWare, but I do know that Virtual PC does NOT emulate the full machine and it cannot run custom drivers. This leads me to believe that it cannot run kernel-mode code at all, and thus doesn't actually do much emulation at all.
You should definitely talk to the support of all the commercial products you consider so you can avoid buying something that would be useless to you.

Share this post


Link to post
Share on other sites
Quote:
Original post by Extrarius
As far as I'm aware, of the three you listed only bochs is an emulator. I can't say for certain about VMWare, but I do know that Virtual PC does NOT emulate the full machine and it cannot run custom drivers. This leads me to believe that it cannot run kernel-mode code at all, and thus doesn't actually do much emulation at all.
You should definitely talk to the support of all the commercial products you consider so you can avoid buying something that would be useless to you.

Virtual PC emulates a complete system, and can run many different PC operating systems.

Qemu and Bochs provide most of the functionality of the others, with Qemu having an advantage performance-wise.

Share this post


Link to post
Share on other sites
Quote:
Original post by igni ferroque
[...]Virtual PC emulates a complete system, and can run many different PC operating systems.[...]
But it can't run arbitrary drivers for arbitrary devices:
Quote:
From Virtual PC 2004 Technical Overview
[...]Virtual PC does not support USB devices that require their own drivers. Virtual machines also don’t see the physical computer’s hardware video card as a native device, so you can't install your own video card drivers. In addition, SCSI devices are not supported in a virtual machine.[...]

Share this post


Link to post
Share on other sites
That's because it is an emulator of (some of) the hardware, and therefore needs to provide a virtual layer for each type of device. Instead of passing-through the USB stack (which would piss off the host OS) it emulates it.

Share this post


Link to post
Share on other sites
It can't be that difficult to make drivers that pass data through to the virtual machine considering how similar to that task some of the DDK examples are.

Anyways, makes it kinda useless if you want to write drivers (which is what I wanted it for)

Share this post


Link to post
Share on other sites
Quote:
Original post by Extrarius
I can't say for certain about VMWare, but I do know that Virtual PC does NOT emulate the full machine and it cannot run custom drivers.


VMWare emulates the hardware. When I once wrote an UDMA driver for my own OS I noticed that VMWare emulated a PCI bus (Bochs did not provide emulation for PCI at this time) and the whole register set you would expect from UDMA drives.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!