An overview of approaches

Minimal, bespoke unikernel operating systems can be constructed in many different ways for many different applications on many different hardware platforms. Some systems (like Rumprun) are language-agnostic, and provide a platform for any application code based on the requests it makes of the operating system. Others (like MirageOS and HaLVM) leverage high-level languages and a runtime to provide an API for operating system functionality. Unikernels can run in containers, on hypervisors, and on a wide array of bare-metal hardware.

The projects below represent a slice of the variety of solutions available in the unikernel space. They include C++ network-specific high-speed unikernels, purely functional and statically typed bespoke unikernels, a cloud-oriented JavaScript library operating system, and a software which runs existing unmodified POSIX software as a unikernel on bare hardware or hypervisors. Unikernels are running in research labs, in server rooms, and on low-power devices all over the world, many built on the projects here!

If your project is missing, please let us know!