Hacker News new | past | comments | ask | show | jobs | submit login

Good question. Unikernels need to be run inside VMs essentially because they use Xen for drivers. If you wanted to run a unikernel on bare metal, it would only run a single piece of hardware, or it would have to contain drivers for every piece of hardware out there like Linux, which would be impractical. It's also probably not very secure.

Xen has something called "dom0", which is the "domain" of the privileged management OS. It has the drivers for the ACTUAL hardware. dom0 in Xen must be Linux AFAIK, so you are using Linux drivers to communicate with paravirtualized guest OSes.

The guest OSes can be Windows, Linux, Solaris, etc. What paravirtualization means is that instead of communicating with real hardware like those OSes are meant to do, they are modified to communicate with a special, portable Xen interface. Xen abstracts away hardware for both guest OSes and unikernels.

NetBSD can be dom0 too.

Xen was originally implemented in NetBSD! NetBSD was the first dom0

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact