Search Wiki:
Project Description

The Singularity Research Development Kit (RDK) is based on the Microsoft Research Singularity Project. It includes source code, build tools, test suites, design notes, and other background materials. The Singularity RDK is for academic non-commercial use and is governed by this license.

About 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.

See also:
Singularity: Rethinking Dependable System Design
Singularity: Rethinking the Software Stack [PDF]
Using the Singularity Research Development Kit [PDF]

SingularityArchitecture.jpg
Last edited Mar 17 at 9:18 PM  by galenh, version 22
Comments
ejstembler wrote  Mar 4 at 11:45 PM  
I'm glad Singularity has been released. When I first read about the project a year or so ago, I wondered what would become of it.

sukru wrote  Mar 5 at 3:57 AM  
Please do not worry about the "free software" demands. I'm very pleased to see the source of the (hopefully) next windows kernel.

reinux wrote  Mar 5 at 6:29 AM  
Yes!! Yes!!

Sorry for my unintelligible comment but YES!!!

stimpy77 wrote  Mar 5 at 8:08 AM  
This is NOT the "next windows kernel". This is an experimental managed kernel that has little or nothing to do with Windows whatsoever. Its ideas may bring about fruition in Windows two or three major versions from now, but without either dual booting or a total hypervisor approach to Windows there is no possible way this could possibly host existing Windows apps, ever.

That said, Singularity is dang cool and makes me glad that Microsoft has an OS concept that they can show off to the computer science world.

stimpy77 wrote  Mar 5 at 8:35 AM  
BTW some great videos on Singularity:

Singularity: A Research OS Written In C# - http://channel9.msdn.com/ShowPost.aspx?PostID=68302
Singularity Revisited - http://channel9.msdn.com/Showpost.aspx?postid=141858
Singulariy III: Revenge of the SIP - http://channel9.msdn.com/Showpost.aspx?postid=227259
Singularity IV: Return of the UI - http://channel9.msdn.com/Showpost.aspx?postid=227260

apullin wrote  Mar 5 at 9:39 AM  
Looks like a great project!
Boots fine in Virtual PC for me. Out of curiosity, I tried burning to a CD and booting on my laptop; it stops at "Initializing Service Thread".
Is there any resource that I might turn to to get it running on my laptop, so I can try it on actual hardware? Mailing list or something? I think it'd be quite the novelty to have working on a native platform.
BTW, when can we expect the Apple ads about how Singularity is slow & untrendy? :)

ThorstenHans wrote  Mar 5 at 10:01 AM  
Great stuff, I've first read about Singularity some months ago, its great what could be done with managed code ;) I'm installing Singularity at the moment in VirtualPC and till now it works.. and works.. and works ;)

buraksarica wrote  Mar 5 at 1:52 PM  
I have created a discussion about a build error.

LostTheBlack wrote  Mar 5 at 3:43 PM  
Guys, thank you, that's really great!

bknittel wrote  Mar 5 at 5:54 PM  
Sounds like an admirable and interesting project. I'll give it a test drive. And, it's sort of heartwarming to watch history repeat itself. Singularity may be a break from hardware OS protection concepts set down 40 years ago, but this break (and it was considered radical even then) was made 30 years ago in the IBM S/38, and was successful enough to be carried on through the AS/400 and iSeries. It's interesting to note that the architects of both Singularity and OS/400 make the same point about the ancestry of their respective OSs -- for example, in this sort-of-quote, from the Wikipedia article the AS/400:

> The programmers who worked on OS/400, the operating system of the AS/400, did not have
> a UNIX background. Dr Frank Soltis, the chief architect, says that this is the main difference
> between this and any other operating system.

rfjason wrote  Mar 5 at 6:30 PM  
I was incredibly excited to check out Singularity until I reviewed the license agreement. THIS IS NOT AN OPEN SOURCE AGREEMENT. And, really, the fact that the banner of this site says "open source" really burns me.

I won't be checking out singularity today, and I think many others will no as well.

darxkies wrote  Mar 5 at 6:56 PM  
If you want to check out real Open Source OSes written in c# go to http://www.sharpos.org, http://www.ensemble-os.org/ or http://www.gocosmos.org/

mindspace wrote  Mar 5 at 8:43 PM  
Do i have to use a windows machine to build this or will the contents of the downloaded zip file boot on a virtual pc running on top of OS X?

bullethead wrote  Mar 6 at 12:23 AM  
Thanks MSR (RMS?), or to not use acronyms "Microsoft Research" for this. I do not see any fault in the license, If I decide to build a visual user interface to help this project along, I'll adhere to the terms of license. Great work!

treed wrote  Mar 6 at 12:32 AM  
Microsoft deleted my post. I had the second post on here as of a day or two ago. sukru's post saying "Please do not worry about the "free software" demands. I'm very pleased to see the source of the (hopefully) next windows kernel." was in reply to mine. I'll just add this to the long list of sleezy things MS has done. And shame on you whoever ends up deleting this post too. You are no better than those you work for.

bullethead wrote  Mar 6 at 12:35 AM  
One more comment. Not everything is in protected mode. Development is needed on the hardware side of this as welI...

GVL wrote  Mar 6 at 12:02 PM  
I heard about Singularity a year ago and since than, I'm very interested in things like that. Singularity implements alternate approache to OS kernel design. I'm very glad to see it released. Great work!

gsgiles wrote  Mar 6 at 2:55 PM  
I think this is wonderful, but like so many things in Computer Science I do not see what is at all new about the concepts? What am I missing?

Please advise

Randolpho wrote  Mar 6 at 4:04 PM  
Holy Geekgasm, I've been wanting to get my hands on Singularity since I heard about it.

Ok, now I just need to find the time to *do* something with it.

DKonieczny wrote  Mar 6 at 5:12 PM  
Great, that the RDK is finally released.

ZiF wrote  Mar 7 at 3:51 AM  
What about hardware drivers? How they can be written for Singularity according to it's managed code approach ?

abhishek0216 wrote  Mar 7 at 6:40 AM  
This singularity for me shows me a snapshot of what future OS's from Microsoft could be

twisterjosh wrote  Mar 8 at 1:51 AM  
Randolpho: just do it!! This stuff is AWESOME!!

AhmedEssam wrote  Mar 8 at 3:09 PM  
Peace be upon you

How are you guy, I have done something will help all guys to startup this thing and start inject some code, please check this links

Singularity step by step
http://www.ahmed-essam.com/2008/03/preparing-building-and-denuging.html

Adding code to Singularity
http://www.ahmed-essam.com/2008/03/adding-code-to-singularity.html

I hope that this thing help you guys,

Thanks for your time

BR
Ahmed Essam

reinux wrote  Mar 9 at 7:05 AM  
Is there any information about writing/compiling/installing software/drivers?

We need some sort of community site to keep track of all the things that people make; I'm sure there's at least a hundred people drooling over the idea of making a new shell and such, and most of us probably don't want to be too redundant.

larjohn wrote  Mar 11 at 11:48 AM  
Keeping this Open Source will make community contribution possible. That's what is missing from Microsoft today, in comparison with other Big Software Players. Keep up the good work!

ferrarix wrote  Mar 11 at 6:30 PM  
I think all this is a very good idea from Microsoft's part. I am still a beginner in C# programming but will certainly dig in this and give it a try ;-).

FoolyCooly wrote  Mar 21 at 2:00 AM  
Interesting

tvman wrote  Apr 3 at 2:47 AM  
There is nothing wrong about the license. It just guaranees that you will not come to microsoft and ask to pay for damages to your business because you lost your data using the system. In other hand I don't like the statement that all community work becomes MS property which they will treat as THEIR intellectual property. It's not fair to me. In GPL world you remain as a copiright owner even after placing your work to the public domain. So just because of this I'll not even try to support this project.

jasongullickson wrote  May 5 at 8:59 PM  
I ran across this system while researching Plan 9 From Bell Labs (Singularity is linked in Plan 9's wikipedia article). Exciting find, I was just talking the other day with a friend about how Microsoft is doing some cool stuff, you just never hear about it.

I'm anxious to play with the code, and see what everyone else does with it as well.

vorcigernix wrote  Jul 9 at 11:57 AM  
Nice piece of code. It's real shame that business sharks have currently upper hand over techies in MS.

Updating...