Technology: MirageOS
This commit is contained in:
parent
746165ce29
commit
022be8cf94
1 changed files with 11 additions and 11 deletions
22
Technology
22
Technology
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue