DragonFly kernel List (threaded) for 2006-09
Re: Cache coherency, clustering, and Kernel virtualization
On 4 Sep 2006, at 09:36, Matthew Dillon wrote:
Xen is the one that runs a linux kernel as the primary OS? I
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
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).