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

Reply via email to