The HOSS Pedagogical Hypervisor

HOSS is an extension of MIT's JOS exokernel operating system to host itself as a hypervisor. Like JOS, HOSS includes a set of guided exercises implementing core system components. HOSS can host itself (in non-nested mode), with light modifications.

HOSS was first used in CSE 591 in Spring 2014 at Stony Brook, and is an ongoing project. Additional overview and details on the course are available in our SIGCSE 2015 paper.


The latest version of the skeleton code is available on github:

Solutions are available to instructors upon request.



Abhinand Palicherla implemented most the JOS VMM, as well as core JOS enhancements to facilitate virtualization. Amit Arya ported JOS to amd64, and Tao Zhang contributed guest video support. Jihong Huang is now maintaining and extending the code. Patches to JOS64 have also been contributed by Soujanya Shankaranarayana, Varun Agarwal, Vivek Kulkarni, and Sagar Trehan. Of course, we are also indebted to the many contributors to the baseline JOS code.

This material is based upon work supported by the National Science Foundation under Grants CNS-1149730, CNS-1149229, CNS-1161541, and CNS-1228839.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation