6

There's a number of projects that produce complete images from your app, bootable on xen as a machine. For example Erlang on Xen, OpenMirage, HaLVM, and others.

Why is Xen the default hypervisor for them? Does it provide some interface that makes these projects easier (as opposed to KVM, VmWare, etc.), or is it just the project developers' choice?

Cœur
  • 37,241
  • 25
  • 195
  • 267
viraptor
  • 33,322
  • 10
  • 107
  • 191
  • Please define a "unikernel" and explain how it requires a new tag, when the given term appears absolutely nowhere in your question. – Charles Feb 21 '14 at 07:50
  • 5
    @Charles Unikernel is an application baked into the kernel. You compile the app and the result is a bootable appliance. All the projects listed produce unikernel appliances as a result. I think the Mirage guys really introduced it in 2013 [paper](http://anil.recoil.org/papers/2013-asplos-mirage.pdf) – viraptor Feb 21 '14 at 11:44

1 Answers1

4

Are Cloud Operating Systems the Next Big Thing? gives the following answer:

  • Xen’s footprint in the Cloud: with AWS, Rackspace Public Cloud and many others running Xen, supporting Xen first makes sense.

  • Xen Paravirtualization provides a very simple and idealized interface for I/O to the guest. In contrast, the KVM VIRTIO interface looks pretty much like the underlying hardware. As a consequence, it is easier to port a language runtime to Xen.

Zed
  • 57,028
  • 9
  • 76
  • 100