|
|
Singularity
"...it is impossible to predict how a singularity will affect objects in its causal future." - NCSA Cyberia Glossary
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.
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.
-
Singularity: Rethinking the Software Stack,
Galen Hunt and
James Larus.
Operating Systems Review, Vol. 41, Iss. 2, pp. 37-49, April 2007. ACM SIGOPS.
-
Sealing OS Processes to Improve Dependability and Safety,
Galen Hunt,
Mark Aiken,
Fähndrich,
Chris Hawblitzel,
Orion Hodson,
James Larus,
Steven Levi,
Bjarne Steensgaard,
David Tarditi, and
Ted Wobber.
Proceedings of EuroSys2007, pp. 341-354,
Lisbon, Portugal, March 2007. ACM SIGOPS.
-
Authorizing Applications in Singularity,
Wobber, Ted,
Aydan Yumerefendi.
Martín Abadi,
Andrew Birrell, and
Dan Simon.
Proceedings of EuroSys2007, pp. 355-368,
Lisbon, Portugal, March 2007. ACM SIGOPS.
-
Deconstructing Process Isolation,
Mark Aiken,
Manuel Fähndrich,
Chris Hawblitzel
Galen C. Hunt, and
James R. Larus.
ACM SIGPLAN Workshop on Memory Systems Correctness and Performance (MSPC 2006) at ASPLOS 2006,
San Jose, CA, October 2006.
-
{End Bracket} Singularity,
James R. Larus,
Galen C. Hunt, and
David Tarditi.
MSDN Magazine,
Vol. 21, No. 7, p. 172,
Microsoft Corporation,
Redmond, WA, June 2006.
-
Language Support for Fast and Reliable Message-based Communication in Singularity OS,
Manuel Fähndrich, Mark Aiken, Chris Hawblitzel, Orion Hodson, Galen C. Hunt, James R. Larus, and Steven Levi.
Proceedings of EuroSys2006, pp. 177-190.
Leuven, Belgium, April 2006. ACM SIGOPS. Best paper award.
-
Solving the Starting Problem: Device Drivers as Self-Describing Artifacts,
Michael Spear, Tom Roeder, Orion Hodson, Galen Hunt, and Steven Levi.
Proceedings of EuroSys2006, pp. 45-58.
Leuven, Belgium, April 2006. ACM SIGOPS.
-
An Overview of the Singularity Project,
Galen C. Hunt,
James R. Larus,
Martín Abadi,
Mark Aiken,
Paul Barham,
Manuel Fähndrich,
Chris Hawblitzel
Orion Hodson,
Steven Levi,
Nick Murphy,
Bjarne Steensgaard,
David Tarditi,
Ted Wobber, and
Brian Zill.
Microsoft Research Technical Report MSR-TR-2005-135,
Microsoft Corporation,
Redmond, WA, October 2005.
-
Access Control in a World of Software Diversity.
Martín Abadi,
Andrew Birrell, and
Ted Wobber.
Proceedings of the 10th Workshop on Hot Topics in Operating Systems, pp. 127-132.
Santa Fe, NM, June 2005. USENIX.
-
Broad New OS Research: Challenges and Opportunities.
Galen Hunt,
James Larus,
David Tarditi, and
Ted Wobber.
Proceedings of the 10th Workshop on Hot Topics in Operating Systems, pp. 85-90.
Santa Fe, NM, June 2005. USENIX.
-
Making system configuration more declarative.
John DeTreville.
Proceedings of the 10th Workshop on Hot Topics in Operating Systems, pp. 61-66.
Santa Fe, NM, June 2005. USENIX.
-
Singularity Design Motivation (STR 1),
Galen C. Hunt and
James R. Larus,
Microsoft Research Technical Report MSR-TR-2004-105,
Microsoft Corporation,
Redmond, WA, December 2004.
-
Using the Singularity Research Development Kit (RDK), Tutorial, 13th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2008) Slides, Seattle, WA, March 1, 2008.
-
Singularity: A research OS written in C#, Channel 9 video and blog, Redmond, WA, August 23, 2005.
-
Singularity Revisited, Channel 9 video and blog, Redmond, WA, December 13, 2005.
-
Singularity III: Revenge of the SIP, Channel 9 video and blog, Redmond, WA, September 1, 2006.
-
Singularity IV: Return of the UI, Channel 9 video and blog, Redmond, WA, September 1, 2006.
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.
|