Singularity is a Microsoft Research project to build a highly-dependable microkernel operating system in which the kernel, device drivers, and applications are all written in managed code. More than 90% of the OS kernel is written in Sing#, an extension of the C# high-level programming language.
Microsoft Research Singularity
Singularity is a research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools. We are building a research operating system prototype (called Singularity), extending programming languages, and developing new techniques and tools for specifying and verifying program behavior.
Advances in languages, compilers, and tools open the possibility of significantly improving software. For example, Singularity uses type-safe languages and an abstract instruction set to enable what we call Software Isolated Processes (SIPs). SIPs provide the strong isolation guarantees of OS processes (isolated object space, separate GCs, separate runtimes) without the overhead of hardware-enforced protection domains. In the current Singularity prototype SIPs are extremely cheap; they run in ring 0 in the kernel’s address space.
Singularity uses these advances to build more reliable systems and applications. For example, because SIPs are so cheap to create and enforce, Singularity runs each program, device driver, or system extension in its own SIP. SIPs are not allowed to share memory or modify their own code. As a result, we can make strong reliability guarantees about the code running in a SIP. We can verify much broader properties about a SIP at compile or install time than can be done for code running in traditional OS processes. Broader application of static verification is critical to predicting system behavior and providing users with strong guarantees about reliability.
Microsoft Research has made available for download, the Singularity Research Development Kit (RDK). You can download it from CodePlex, Microsoft’s open source code project hosting website. You can also download Overview Of Singularity Project, by clicking here.
The key developers of Singularity, Galen Hunt and Jim Larus, hasve said that all current operating systems such as Windows, Linux and Mac OS can be traced back to an operating system called Multics, which has its origins in the 1960s. In effect, current operating systems are still based, in part, on thoughts and criteria from 40 years ago. Multiplexed Information and Computing Service, or Multics is a mainframe timesharing operating system begun in 1965 and used until 2000.
Microsoft Research Singularity was stared in 2003 as a totally new approach to OS building.