{"id":169814,"date":"2003-07-09T13:21:58","date_gmt":"2003-07-09T13:21:58","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/singularity\/"},"modified":"2025-01-08T05:49:22","modified_gmt":"2025-01-08T13:49:22","slug":"singularity","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/singularity\/","title":{"rendered":"Singularity"},"content":{"rendered":"<section class=\"mb-3 moray-highlight\">\n\t<div class=\"card-img-overlay mx-lg-0\">\n\t\t<div class=\"card-background  has-background-grey card-background--full-bleed\">\n\t\t\t\t\t<\/div>\n\t\t<!-- Foreground -->\n\t\t<div class=\"card-foreground d-flex mt-md-n5 my-lg-5 px-g px-lg-0\">\n\t\t\t<!-- Container -->\n\t\t\t<div class=\"container d-flex mt-md-n5 my-lg-5 \">\n\t\t\t\t<!-- Card wrapper -->\n\t\t\t\t<div class=\"w-100 w-lg-col-5\">\n\t\t\t\t\t<!-- Card -->\n\t\t\t\t\t<div class=\"card material-md-card py-5 px-md-5\">\n\t\t\t\t\t\t<div class=\"card-body \">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n<h1 class=\"wp-block-heading h2\" id=\"singularity\">Singularity<\/h1>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n\n\n\n<p>OS and tools for building dependable systems. The Singularity research codebase and design evolved to become the Midori advanced-development OS project. While never reaching commercial release, at one time Midori powered all of Microsoft&#8217;s natural language search service for the West Coast and Asia.<\/p>\n\n\n\n<p>&#8220;&#8230;it is impossible to predict how a singularity will affect objects in its causal future.&#8221; &#8211; <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/archive.ncsa.uiuc.edu\/Cyberia\/NumRel\/glossary.html#singularity\" target=\"_blank\" rel=\"noopener noreferrer\">NCSA Cyberia Glossary<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-s-new\">What&#8217;s New?<\/h2>\n\n\n\n<p>The Singularity Research Development Kit (RDK) 2.0 is available for academic non-commercial use. You can download it from CodePlex, Microsoft&#8217;s open source project hosting website, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/www.codeplex.com\/\/singularity\" target=\"_blank\" rel=\"noopener noreferrer\">here<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/p>\n\n\n\n<p>Our article in <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/portal.acm.org\/toc.cfm?id=J597\" target=\"_blank\" rel=\"noopener noreferrer\"><i>Operating Systems Review<\/i><span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/singularity-rethinking-the-software-stack\/\">Singularity: Rethinking the Software Stack<\/a>, is a concise introduction to the Singularity project.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n\n<p>\nSingularity was a multi-year research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools. We built a research <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/group\/operating-systems-technologies-os-tech\/\">operating system<\/a> prototype (called Singularity), extended programming languages, and developed new techniques and tools for specifying and verifying program behavior.\n\n<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/\/singularity-singularityteam2008.jpg\" alt=\"team of researchers working on project Singularity\"\/><\/figure>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>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\u2019s 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. <\/p>\n\n\n\n\n\n<ul class=\"wp-block-list\">\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\/showPost.aspx?PostID=68302\" target=\"_blank\" rel=\"noopener noreferrer\">Singularity: A research OS written in C#<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Channel 9<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> video and blog, Redmond, WA, August 23, 2005.<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\/showPost.aspx?PostID=141858\" target=\"_blank\" rel=\"noopener noreferrer\">Singularity Revisited<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Channel 9<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> video and blog, Redmond, WA, December 13, 2005.<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\/showpost.aspx?postid=227259\" target=\"_blank\" rel=\"noopener noreferrer\">Singularity III: Revenge of the SIP<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Channel 9<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> video and blog, Redmond, WA, September 1, 2006.<\/li>\n\n\n\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\/showpost.aspx?postid=227260\" target=\"_blank\" rel=\"noopener noreferrer\">Singularity IV: Return of the UI<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/channel9.msdn.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Channel 9<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> video and blog, Redmond, WA, September 1, 2006.<\/li>\n<\/ul>\n\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"members\">Members<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Mark Aiken<br>Paul Barham<br>Trishul Chilimbi<br>John DeTreville<br>Ulfar Erlingsson<br>Wolfgang Grieskamp<br>Tim Harris<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Orion Hodson<br>Rebecca Isaacs<br>Mike Jones<br>Steven Levi<br>Roy Levin<br>Nick Murphy<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Jakob Rehof<br>Wolfram Schulte<br>Dan Simon<br>Bjarne Steensgaard<br>David Tarditi<br>Ted Wobber<\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"interns\">Interns<\/h2>\n\n\n\n<p><b>2007<\/b><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ryan Braud (University of Califorina, San Diego<\/li>\n\n\n\n<li>Michael Carbin (MIT)<\/li>\n\n\n\n<li>Michael Emmi (UCLA)<\/li>\n\n\n\n<li>Gabriel Kliot (Technion &#8211; Israel Institute of Technology)<\/li>\n\n\n\n<li>Ross McIlroy (University of Glasgow)<\/li>\n\n\n\n<li>Filip Pizlo (Purdue University)<\/li>\n\n\n\n<li>Polyvios Pratikakis (Univ. of Maryland)<\/li>\n<\/ul>\n\n\n\n<p><b>2006<\/b><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Marc Eaddy (Columbia University)<\/li>\n\n\n\n<li>Haryadi S. Gunawi (Univ. of Wisconsin &#8211; Madison)<\/li>\n\n\n\n<li>Hiroo Ishikawa (Waseda University)<\/li>\n\n\n\n<li>Virendra J. Marathe (Rochester)<\/li>\n\n\n\n<li>Polyvios Pratikakis (University of Maryland)<\/li>\n\n\n\n<li>Roussi Roussev (Florida Tech)<\/li>\n\n\n\n<li>C\u00e9sar Spessot (Universidad Tecnol\u00f3gica Nacional Facultad C\u00f3rdoba)<\/li>\n<\/ul>\n\n\n\n<p><b>2005<\/b><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Michael Carbin (Stanford)<\/li>\n\n\n\n<li>Adam Chlipala (UC Berkeley)<\/li>\n\n\n\n<li>Martin Pohlack (TU Dresden)<\/li>\n\n\n\n<li>Avi Shinnar (Harvard)<\/li>\n\n\n\n<li>Mike Spear (Rochester)<\/li>\n\n\n\n<li>Aydan Yumerefendi (Duke)<\/li>\n<\/ul>\n\n\n\n<p><b>2004<\/b><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jeremy Condit&nbsp;(UC Berkeley)<\/li>\n\n\n\n<li>Daniel Frampton (Australian National University)<\/li>\n\n\n\n<li>Chip Killian (UC San Diego)<\/li>\n\n\n\n<li>Fernando Castor de Lima Filho (Universidade Estadual de Campinas)<\/li>\n\n\n\n<li>Prince Mahajan&nbsp;(IIT Roorkee)<\/li>\n\n\n\n<li>Bill McCloskey (UC Berkeley)<\/li>\n\n\n\n<li>Martin Murray<\/li>\n\n\n\n<li>Tom Roeder (Cornell)<\/li>\n\n\n\n<li>Avi Shinnar (Columbia)<\/li>\n\n\n\n<li>Yaron Weinsberg (Hebrew University of Jerusalem)<\/li>\n<\/ul>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Singularity was a multi-year research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13560,13547],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-169814","msr-project","type-msr-project","status-publish","hentry","msr-research-area-programming-languages-software-engineering","msr-research-area-systems-and-networking","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2003-07-09","related-publications":[144952,144953,144966,144967,145001,145013,150222,150251,152117,152118,152772,153488,155133,157676],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Chris Hawblitzel","user_id":31425,"people_section":"Group 1","alias":"chrishaw"},{"type":"user_nicename","display_name":"Dushyanth Narayanan","user_id":31659,"people_section":"Group 1","alias":"dnarayan"},{"type":"user_nicename","display_name":"Galen Hunt","user_id":31846,"people_section":"Group 1","alias":"galenh"},{"type":"user_nicename","display_name":"Richard Black","user_id":33417,"people_section":"Group 1","alias":"rjblack"},{"type":"user_nicename","display_name":"Sriram Rajamani","user_id":33711,"people_section":"Group 1","alias":"sriram"},{"type":"user_nicename","display_name":"Ben Zorn","user_id":35154,"people_section":"Group 1","alias":"zorn"}],"msr_research_lab":[199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/169814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":12,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/169814\/revisions"}],"predecessor-version":[{"id":1116162,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/169814\/revisions\/1116162"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=169814"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=169814"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=169814"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=169814"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=169814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}