FOS: A Factored Operating Systems for High Assurance and Scalability on Multicores
Anant K. Agarwal, Jason Miller, David Wentzlaff, Harshad Kasture, Nathan Beckmann, Charles Gruenwald, Christopher M. Johnson · 2012
Abstract : fos is a new operating system design for multicores and cloud computing. It builds on previous work in distributed and microkernel OSes by factoring services out of the kernel, and then further distributing each service into a parallel, distributed fleet of cooperating processes. This design naturally spans non-coherent shared memory architectures and clusters of machines. Additionally it provides increased isolation between and within services, giving opportunities for increased reliability. This report describes the general design principles of fos as well as the implementation of several specific services with evaluation of their scalability (e.g., naming, page allocation, and network stack). It also describes two distributed data structures (dPool and key-value store) that we implement to ease implementation of fos system services.