Are virtual-machine monitors microkernels done right?

  title={Are virtual-machine monitors microkernels done right?},
  author={Gernot Heiser and Volkmar Uhlig and Joshua LeVasseur},
  journal={ACM SIGOPS Oper. Syst. Rev.},
A paper by Hand et al. at the recent HotOS workshop re-examined microkernels and contrasted them to virtual-machine monitors (VMMs). It found that the two kinds of systems share architectural commonalities but also have a number of technical differences which the paper examined. It concluded that VMMs are a special case of microkernels, "microkernels done right".A closer examination of that paper shows that it contains a number of statements which are poorly justified or even refuted by the… 

A Lightweight Monitoring Service for Multi-core Embedded Systems

This paper presents a Virtual Machine Monitor (VMM)based monitoring service for embedded systems that checks the actual kernel data against a safe data specification, due to the VMM and multi-core nature of the system.

Logical Partitioning without Architectural Supports

From this comparison, it is shown that the method proposed is as fast as a real machine, and that it can be twice asfast as the existing VM method in executing I/O- oriented processes.

The mechanics of in-kernel synchronization for a scalable microkernel

An adaptive synchronization scheme is presented, one of the core building block for scalable microkernels and unprivileged components (like virtual machines) can express the degree of concurrency at the granularity of individual resources.

Hype and Virtue

It is argued that hypervisors have so far changed very little at a technical level, so a different approach to virtualization and recognizing its value to academic research holds the prospect of opening up kernel research to new directions.

Phone virtualization using a microkernel hypervisor

This work has ported the OKL4 microkernel to the ARM 1176 and tested it on an ARM emulator with an existing embedded Linux kernel and select a well-known embedded microkernel as the virtualization layer.

Transparent, Power-Aware Migration in Virtualized Systems

This paper explores the use of hypervisor-based virtualization technology as a means to enable power management in server systems using a multi-tiered infrastructure that enables dynamic migration of virtual machine execution flow at two different levels: within and across computer nodes.

Performance Optimizations for Isolated Driver Domains

The key idea is to replace the interrupt-based notification between domains with a spinning-based approach, thus trading CPU capacity for increased throughput, and the results show that the solution matches or outperforms Xen's isolated driver domain in most scenarios the authors considered.

MobiVMM: a virtual machine monitor for mobile phones

A new VMM called MobiVMM is proposed for mobile phones that enables real-time support using priority based scheduling and a pseudo-polling mechanism and achieves resource and power efficiency through light-weight design and implementation, highly customized guest operating systems, and a virtual hardware abstraction layer.

Applicability of Virtualization to Embedded Systems - Tackling Complexity by "Divide and Conquer"

  • R. Kaiser
  • Computer Science
    Solutions on Embedded Systems
  • 2011
In this article, various approaches to virtualization are examined with respect to their applicability to embedded systems and the more suitable among them are identified.

Complex embedded systems - A case for virtualization

  • R. Kaiser
  • Computer Science
    2009 Seventh Workshop on Intelligent solutions in Embedded Systems
  • 2009
In this article, various approaches to virtualization are examined with respect to their applicability to embedded systems and the more suitable among them are identified.



Are Virtual Machine Monitors Microkernels Done Right?

It is claimed that VMMs provide a platform on which innovative systems research ideas can be developed and deployed and that providing a common framework for hosting novel systems will increase the penetration and relevance of systems research.

Parallax: Managing Storage for a Million Machines

It is argued that the next key challenge facing large-scale environments lies in the dramatically evolving requirements for the management of persistent storage.

Reducing TCB size by using untrusted components: small kernels versus virtual-machine monitors

It is argued that moving system components out of theTCB into the untrusted part of the system and communicating with them using IPC reduces the overall size of the TCB.

Measuring CPU Overhead for I/O Processing in the Xen Virtual Machine Monitor

This work presents a light weight monitoring system for measuring the CPU usage of different virtual machines including the CPU overhead in the device driver domain caused by I/O processing on behalf of a particular virtual machine.

Reconstructing I/O

A next-generation architecture that addresses problems of dependability, maintainability, and manageability of I/O devices and their software drivers on the PC platform is presented, based on the Xen virtual machine monitor.

Toward real microkernels

The second-generation microkernels may be a basis for all types of operating systems, including timesharing, mul-timedia, and soft and hard real time.

An empirical study of operating systems errors

A study of operating system errors found by automatic, static, compiler analysis applied to the Linux and OpenBSD kernels found that device drivers have error rates up to three to seven times higher than the rest of the kernel.

Survey of virtual machine research

The complete instruction-by-instruction simulation of one computer system on a different system is a well-known computing technique. It is often used for software development when a hardware base is

Improved Address-Space Switching on Pentium Processors by Transparently Multiplexing User Address Sp

For the Pentium processor, this work describes an optimization to avoid TLB ush in many cases that is transparent to the user and thus requires no extension of the -kernel interface.

The duality of memory and communication in the implementation of a multiprocessor operating system

The relationship between memory and communication in Mach is examined as it relates to overall performance, applicability of Mach to new multiprocessor architectures, and the structure of application programs.