Anil Madhavapeddy
Professor of Computer Science at the University of Cambridge and the creator of MirageOS — a library operating system written entirely in OCaml that compiles application code into unikernels, self-contained bootable images containing only the OS components the application actually uses. His research spans operating systems, distributed systems, functional programming, and formal verification. He co-authored Real World OCaml with Ron Minsky and Jason Hickey, and co-founded OCaml Labs at Cambridge to fund core compiler and tooling work for the OCaml ecosystem.
Earlier in his career, Madhavapeddy worked on the Xen hypervisor — the virtualisation layer that underpins most cloud computing — first as a researcher, then at XenSource (acquired by Citrix). MirageOS grew out of the test harness he built to exercise Xen’s lowest-level interfaces: a minimal OCaml runtime that ballooned into a full networking stack, file system, and unikernel compiler over the following decade. The system has since accumulated tens of millions of daily active users across cloud infrastructure, Docker for Mac and Windows (where it acts as a translation layer between Linux container semantics and the host OS), the Tezos blockchain, and climate-monitoring sensors deployed on embedded RISC-V hardware.
Core positions
Madhavapeddy holds that the operating system’s original purpose — mediating shared access to expensive hardware among many users — has been quietly rendered obsolete by virtualisation and containers, which treat each application as its own isolated tenant. The correct response is not to patch the abstraction but to rebuild it: treat OS components as libraries, let the compiler specialise the combination, and emit only what the application actually needs. Security, performance, and portability follow from minimality rather than from the addition of further protective layers.
On programming languages, he argues that OCaml’s module system — its ability to define formal contracts (signatures) that multiple implementations can satisfy interchangeably — makes it uniquely suited to evolving systems software incrementally. He is direct that OCaml’s multicore runtime, which guarantees that data races are bounded in space and time, represents the cleanest parallel memory model of any mainstream language.
In the wiki
- Anil Madhavapeddy on What is an Operating System — Signals and Threads, 3 November 2021: MirageOS, unikernels, the Xen hypervisor, OCaml’s module system, and the multicore runtime