vkernel & GSoC, some questions
pisymbol at gmail.com
Mon Mar 17 19:43:26 UTC 2008
On Sun, Mar 16, 2008 at 7:13 PM, Matthew Dillon <dillon at apollo.backplane.com>
> Basically DragonFly has a syscall API that allows a userland process
> to create and completely control any number of VM spaces, including
> the ability to pass execution control to a VM space and get it back,
> and control memory mappings within that VM space (and in the virtual
> kernel process itself) on a page-by-page basis, so only 'invalid' PTEs
> are passed through to the virtual kernel by the real kernel and the
> real kernel caches page mappings with real hardware pmaps. Any
> exception that occurs within a running VM space is routed back to the
> virtual kernel process by the real kernel. Any real signal (e.g. the
> vkernel's 'clock' interrupt) or exception that occurs also forces
> to return to the vkernel process.
Matt, I'm sorry I'm not trying to hijack this thread but isn't the vkernel
approach very similar to VMWare's hosted architecture products (such as
Fusion for the Mac and Client Workstation for windows)?
As I understand it, they have a regular process like vkernel called
vmware-vmx which provides the management of different VM contexts running
along side the host OS. It also does a passthrough for invalid PTEs to the
real kernel and manages contexts in I believe the same fashion you just
described. There is also an I/O subsystem a long side it to reuse the
hosted drivers to managed the virtualized filesystem and devices - not sure
what Dragon does.
I realize that their claim to fame is as you said x86 binary code
translations but I believe VMWare's product is very close to what you are
describing with respect to vkernels (please correct me if I'm wrong). Its
just that this thread has devolved slightly into a hypervisor vs. hosted
architecture world and I believe their is room for both.
"What lies behind us and what lies in front of us is of little concern to
what lies within us." -Ralph Waldo Emerson
More information about the freebsd-hackers