Applications run on all kinds of environments these days: multicore desktops, virtual cloud infrastructures, smart-phones, and web browsers. These diverse environments make it worth rethinking the long-term future of our software stacks; do we really want to continue bundling gigabytes of general-purpose OS software with every single cloud image? Is there any point holding onto decades-old interfaces such as POSIX any more?
I will introduce Mirage, a new operating system built in the statically type-safe OCaml functional language. Mirage compiles high-level functional source code directly into a variety of targets such as:
(i) small microkernels that run directly on the "bare-metal" Xen hypervisor;
(iii) embedded ARM devices;
and of course normal operating systems such as Linux.
Mirage provides a consistent, simple programming API across all of these diverse backends, which makes it a powerful foundation for constructing safe, complex distributed systems across a heterogeneous set of modern compute resources such as mobile devices or cloud computing infrastructure. Also, it's just plain fun programming in OCaml :-)
Dr. Anil Madhavapeddy is a Senior Research Fellow at Wolfson College Cambridge based in the Systems Research Group, investigating programming models for cloud computing. Dr. Madhavapeddy was on the original team at Cambridge that developed the Xen hypervisor, and subsequently served as the senior architect and product director for XenSource/Citrix before returning to academia.
Prior to obtaining his PhD in 2006 from the University of Cambridge, Dr. Madhavapeddy had a diverse background in industry at Network Appliance, NASA, and Internet Vision. In addition to professional and academic activities, Dr. Madhavapeddy is an active member of the open source development community with the OpenBSD operating system, a member of the steering committee for Commercial Uses of Functional Programming, and on the boards of startup companies such as Limbe Labs and Ashima Arts.