In a not so long ago job assignment I spent a little time learning the innards of KVM, qemu, and virtualization technology in general.
The virtualization environments are going to do a good job running your instructions on real hardware. All modern hardware has support for doing this, sometimes even very sophisticated support for shadow page tables. (Luckily DOS doesn't need all of that.) Things get more complicated if you run a privileged instruction; that requires an assist from the VM for security reasons. When a VM blindly emulates hardware things slow down. For example, the AMD PCNet emulation that VirtualBox and VMware provides requires both of those VMs to sit and emulate each and every I/O operation from the packet driver or networking software. The same thing goes for IDE emulation, and any other hardware emulation. The better virtualization environments realize this and use paravirtualization. In a nutshell, the guest operating system runs special device drivers that know how to hit magic buttons in the VM. In the case of the network adapter, instead of doing a whole bunch of privileged I/O operations to send a packet a paravirtualized driver can press a magic button on the VM, telling it where the data is and how to send it. The partitioning support on all of the big IBM Power machines use this trick. When VMWare provides special drivers to Windows for file sharing and screen handling it is doing the same thing. Ultimately we're going to need to have DOS device drivers that know how to interact with the various VMs. In the case of VirtualBox, that should not be a large problem - the interfaces are in the open source code. For VMware and closed source VMs it might not be possible unless the interfaces are published. Mike ------------------------------------------------------------------------------ uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel