Microsoft Research recently published a paper that outlines an operating system that is built from the ground up to be dependable--more reliable, secure and capable. The operating system, called Singularity, focuses on advances in programming languages and tools to replace the current complex, less than reliable architectures and operating systems built in the 128K memory and pre-Internet eras.
With the tyranny of the installed base, operating systems evolve, improve and become more unwieldy, adding on new layers to hide complexity in other layers. Following is a synopsis of Singularity:
Singularity is a micro-kernel operating system that uses advances in programming languages and compilers to build lightweight, software-isolated processes [SIPs], which provide code with protection and failure isolation at lower overhead than conventional, hardware supported processes. Singularity provides an isolation boundary by running verifiably safe programs and by preventing object pointers from passing between processes’ object spaces.
SIPs, in turn, enable a new solution to the problem of code extension in systems and applications. In Singularity’s model, extensions are not loaded into their parent process, but instead run in their own process and communicate over strongly typed channels. This model fixes some of the major problems with extensions, since in Singularity, they cannot directly access their parents’ data or interfaces, and, if they fail, they can be easily terminated by killing their parents.
Singularity is above all a laboratory for exploring interactions among system architecture, programming languages, compilers, specification, and verification. Advances in each of these areas enable and reinforce advances in the others domains, which limits the benefit and impact of studying an area in isolation. Singularity is small and well structured, so it is possible to make changes that span the arbitrary boundaries between these domains. At the same time, it is large and realistic enough to demonstrate the practical advantages of new techniques.