Are Virtual Machine MOnitors Microkernels Done Right?

Hand, Warfield, Fraswer, Kotsovinos, Magenheimer (2005)

What kind of paper?

Differences between VMMs and Microkernels (or why VMMs are better)

  1. Microkernels are prone to liability inversion: The OS depends on user-level components (e.g., pagers); avoiding deadlock is hard, but VMMs are designed to avoid such problems: resource management is done in the VMM; VMs are isolated.
  2. IPC performance dominates microkernel design, but isn't relevant to VMM: inter-server communication is paramount in microkernel systems, but simply network communication in VMMs.
  3. Compatability achieved in VMMs through guest OS's; in microkernels, it required huge compatability libraries.
  4. VMMs provide developer familiarity, which improves innovation.

Similarities