TheNOVAOSVirtualizationArchitecture is a
research project aimed at constructing a secure virtualization
environment with a small trusted computing base. NOVA consists
of a microhypervisor and an unprivileged multi-server user
environment running on top of it.
Like third-generation microkernels,
the NOVA microhypervisor uses a capability-based authorization
model and provides only basic mechanisms for virtualization,
spatial and temporal separation, scheduling, communication, and
management of platform resources. The disaggregated multi-server
environment implements additional operating-system services in
user mode, such as device drivers, protocol stacks, and policies.
On machines with hardware virtualization features, NOVA can run
multiple unmodified guest operating systems concurrently. Each VM
has its own associated virtual-machine monitor (VMM) that runs as
an unprivileged user application on top of the microhypervisor.
Supported Platforms
NOVA runs on multi-core x86 machines that support ACPI,
underQEMU(including VM
support), and as a microkernel in a virtual machine on top of
itself.
A platform withIntel
VT-xorAMD-Vis required for
running guest operating systems in VMs.
User Environments
The NOVA user-level environment,NUL,
includes the virtual-machine monitor, a partition manager, and
device drivers.
TheGenodeoperating system
framework, a highly dynamic user-level environment, has also
been ported to NOVA.