vKernelOverview
The DragonFly virtual kernels
Obtained from vkernel(7) written by Sascha Wildner, added by Matthias Schmidt
The idea behind the development of the vkernel architecture was to find an elegant solution to debugging of the kernel and its components. It eases debugging, as it allows for a virtual kernel being loaded in userland and hence debug it without affecting the real kernel itself. By being able to load it on a running system it also removes the need for reboots between kernel compiles.
The vkernel architecture allows for running DragonFly kernels in userland.
Supported devices
A number of virtual device drivers exist to supplement the virtual kernel.
Disk device
The vkd driver allows for up to 16 vn(4) based disk devices. The root device will be vkd0.
CD-ROM device
The vcd driver allows for up to 16 virtual CD-ROM devices. Basically this is a read only vkd device with a block size of 2048.
Network interface
The vke driver supports up to 16 virtual network interfaces which are
associated with tap(4) devices on the host. For each vke device, the per-interface read only sysctl(3) variable hw.vkeX.tap_unit holds the unit number of the associated tap(4) device.