Mirage OS Logo

A programming framework for building type-safe, modular systems

MirageOS is a library operating system that constructs unikernels for secure, high-performance network applications across a variety of cloud computing and mobile platforms.

Code can be developed on a normal OS such as Linux or macOS, and then compiled into a fully-standalone, specialised unikernel that runs under a Xen or KVM hypervisor.

This lets your services run more efficiently, securely and with finer control than with a full conventional software stack.

Check what's new in MirageOS 4.

Fast Start Icon
Fast Start

MirageOS applications takes a few milliseconds to start-up instead of the few minutes that takes traditional OS.

Binaries Icon
Small Binaries

MirageOS binaries are self-contained: they do not need an additional OS to execute. Despite this, the size of MirageOS binary is usually a few megabytes.

Footprint Icon
Small Footprint

MirageOS applications use a few megabytes of memory, while traditional application and their associated OS waste gigabytes for simple applications.

Safe Logic Icon
Safe Logic

MirageOS applications are written in OCaml, an industrial strength programming language supporting functional, imperative and object-oriented styles.

MirageOS uses the OCaml language, with libraries that provide networking, storage and concurrency support that work under Unix during development, but become operating system drivers when being compiled for production deployment.

The framework is fully event-driven, with no support for preemptive threading.

MirageOS 3.0 was released in February 2017, preceded by MirageOS 2.0 in July 2014 and MirageOS 1.0 in December 2013. All the infrastructure you see here is self-hosted.

Check out the documentation, compile your hello world unikernel, get started with the public cloud, or watch the talks.