Mirage executes OCaml code over a specialised language runtime
modified in two key areas: memory management and concurrency.
divided
into three regions: text and data; external I/O pages; and the OCaml
heaps. The text and data segments contain the OCaml runtime,
linked against PVBoot. This is the only address space available in
the kernel. The application’s main thread is launched immediately
after boot and the VM shuts down when it returns.