*
Quick Links|Home|Worldwide
Microsoft*
Search for


Singularity

"...it is impossible to predict how a singularity will affect objects in its causal future." - NCSA Cyberia Glossary

What's New?

The Singularity Research Development Kit (RDK) 1.1 is now available for academic non-commercial use. You can download it from CodePlex, Microsoft's open source project hosting website, here.

Our recent article in Operating Systems Review, Singularity: Rethinking the Software Stack, is a concise introduction to the Singularity project. It summarizes research in Singularity V1 and highlights ongoing research for Singularity V2.

Overview

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.

Publications
Presentations

Project Members

Leads

Members

Nick Murphy
Dushyanth Narayanan
Sriram Rajamani
Jakob Rehof
Wolfram Schulte
Dan Simon
Bjarne Steensgaard
David Tarditi
Ted Wobber
Brian Zill
Ben Zorn

Associated Groups
 

Advanced Compiler Technology

      Redmond

Foundations of Software Engineering

      Redmond

Operating Systems

      Redmond

Software Design & Implementation

      Redmond

Systems and Networking

      Redmond

Systems and Performance

      Cambridge


Interns
Jobs

Many of the research groups assocated with the Singularity project are hiring researchers in their respective areas. Select from the group links in the Associated Groups above for more information.

Microsoft is an equal opportunity employer and supports workforce diversity.


©2008 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement