DragonFly BSD

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.