Technology: MirageOS

This commit is contained in:
linse 2017-09-16 14:47:44 -04:00
parent 746165ce29
commit 022be8cf94

View file

@ -18,22 +18,22 @@ Its size is usually around 1-10 MB, much smaller than a UNIX / Linux system, and
## MirageOS - bespoke operating systems
Our work is based on MirageOS, a suite to develop operating systems. It has been developed
Our work is based on MirageOS, a suite to build operating systems. It has been developed
since 2009 at University of Cambridge, UK and is written in the programming language
OCaml, developed since 1996 at INRIA in Paris, France. Most libraries are
developed under permissive licenses (MIT/ISC/BSD2/Apache2). The OCaml compiler
is dual-licensed: LGPLv2 or BSD for consortium members (3000 EUR/year).
OCaml (see [Why OCaml](#Why-OCaml)).
Most libraries are developed as open source (MIT/ISC/BSD2/Apache2).
MirageOS is a library operating system. It composes OCaml libraries into a
bespoke operating system, called a unikernel. A unikernel can be a compiled as a
UNIX binary, or a standalone virtual machine image. To build exactly the right
unikernel for each purpose, we can pick from hundreds of libraries which
implement protocols, storage on block devices, or interfaces to network devices
provided by the hypervisor.
UNIX binary, or a standalone virtual machine image. To build the right
unikernel for your custom business logic, we can pick from hundreds of libraries which
implement network protocols, storage on block devices, or interfaces to network devices
via the hypervisor.
On top of the hypervisor, a small layer of C code (developed at IBM research) is
used to unify the interface between the different hypervisors, on which the
OCaml runtime system is executed.
On top of the hypervisor, a small layer of C code unifies
the interface on which OCaml runs.
## OCaml
OCaml is a functional programming language with automated memory management,
preventing manual memory management errors. The strong and expressive type