Hello Alexey, Programmes running in user space have many limitations on what their code is allowed to do. Application programmes are aware of these limitations, and are written to work well within them, but guest operating systems are not, as they expect to have full control of the machine, and even applications in guest operating systems are written with the expectation that the (guest) operating system they are running in will not have these limitations.
Having a driver in kernel space allows the VM to remove many of these restrictions when it is running guest code, which means that much more of the guest code can be run without modifications (modifying the code takes time to do, and usually the modified code will not be as fast as the original). Qemu rewrites all guest code, which is slow because of the time needed to rewrite it and because the rewritten code is not as efficient as the original code. In theory it could be made faster by rewriting less code and by reusing the rest (but this would only work when it is emulating, say, an x86 on an x86) or by improving the efficiency of the rewritten code (see http://code.google.com/soc/llvm/appinfo.html?csaid=37F62A6AE130C23E for a project which is investigating one way of doing this.) However, in practice it could probably not reach the speed of a virtualisation solution using kernel code. Regards, Michael Alexey Eremenko wrote: > hi all ! > > All virtualization software today uses host-side kernel drivers for > acceleration, which includes: Qemu (KVM/KQemu), VBox, VMware, > VirtualPC... > While Qemu works without accelerators, it's slow. > > There is a question arises: Is it possible to achieve a high-speed > virtualization or emulation without host-side or guest-side kernel > drivers, only in user-space ? > _______________________________________________ vbox-users mailing list [email protected] http://vbox.innotek.de/mailman/listinfo/vbox-users
