Cache coherency, clustering, and Kernel virtualization

Anil Madhavapeddy anil at recoil.org
Mon Sep 4 10:07:59 PDT 2006


On 4 Sep 2006, at 09:36, Matthew Dillon wrote:

    Xen is the one that runs a linux kernel as the primary OS?  I  
really
    have no desire to make DragonFly dependant on some other OS for
    features.  And, frankly, I'm not sure I would consider Xen to be
    contemporary to an actual native user-mode kernel.  They are  
two very
    different beasts, with very different levels of integration.  Just
    because it is a virtualization technology doesn't mean it is the
    right virtualization technology for us.
Xen exposes a set of "hypercalls" which are system calls for  
virtualised OS kernels.  They take care of privileged operations like  
manipulating page tables, etc.  The actual management calls can be  
invoked by any operating system which supports that interface (a so- 
called domain 0).

The hypervisor itself does surprisingly little... all drivers run in  
domain0 (or even separate dedicated driver domains), and Xen acts as  
a "page proxy" by managing how domains map memory between each other  
in order to do efficient zero-copy I/O from front-end virtual network/ 
block drivers to the actual backend drivers.

OpenBSD domain0 support for Xen (i.e. no Linux anywhere) is currently  
underway and going pretty well (http://hg.recoil.org/openbsd-xen- 
sys.hg); it's pretty straightforward to add once the basic guest-OS  
API is supported well.

As to whether or not you want to tie yourself to Xen, that's an  
entirely different question.  I just wanted to address the "depends  
on Linux" point :-)  There are some features which sound very useful  
to you (the para-virtual live migration), and others which are not so  
relevant (the HVM support for hardware-assisted virtualisation).

-anil





More information about the Kernel mailing list