NOVA Microhypervisor

The NOVA OS Virtualization Architecture is a research project aimed at constructing a secure virtualization environment with a small trusted computing base. NOVA consists of a microhypervisor and a deprivileged multi-server user-mode environment running on top of it.

Supported Platforms

NOVA runs on multi-core 32-bit and 64-bit x86 machines that support ACPI.

It also runs under QEMU (including VM support), and as a microkernel in a virtual machine on top of itself.

A platform with Intel VT-x or AMD-V is required for running guest operating systems in VMs.

Download

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.

The source code of the NOVA microhypervisor is available as a git repository at https://github.com/udosteinberg/NOVA.

NOVA is licensed under the terms of the GNU General Public License version 2.

User Environments

The Genode Operating System Framework, a highly dynamic user-level environment, supports the NOVA microhypervisor as one of its platforms.

The NOVA User-Level Environment (NUL) includes the virtual-machine monitor, a partition manager, and host device drivers.

The NOVA Runtime Environment (NRE) is being developed as a potential successor of NUL.

Publications

Posters

Theses