[erlang-questions] Microsoft Singularity Research OS

Jay Nelson jay@REDACTED
Fri Mar 7 07:35:43 CET 2008

Microsoft has a "new concept" for OS research.  It is an operating  
system written in C#.
“Our goal was to make Singularity small enough, simple enough, and  
well-designed enough that you can try out radical new ideas quickly,”  
Hunt says. “Our thinking is that a researcher with a great new idea  
for improving operating systems could get from idea to published  
paper in under a year using Singularity.”

There are three main principles behind the OS:

1) Software-isolated processes (SIPs)

"Singularity pioneers the use of software-isolated processes (SIPs)  
to help protect programs and system services. SIPs enable programs to  
be broken down into components that are isolated from other software  
components running on the same device. This enables pieces of a  
system to fail without risking a total system failure. Consider this  
analogy: In a car, the brakes don’t fail if the radio stops working."

2) Contract-based channels for communicating among SIPs
“We figured out how to describe the form in which communications  
should take place between two processes, and using static analysis,  
we can check the codes of the processes at compile time,” Hunt  
explains. “So before the code ever runs, we can confirm that the  
processes communicate correctly.”

3) Manifest-based programs with resources describing the structure
“We basically say, if you want to install a program to run on a  
Singularity system, you have to provide some information about it so  
we can preserve certain properties that make the system more  
reliable,” Larus explains. “You have to provide a manifest of the  
program pieces and how they fit together, and we’re going to check  
it. More important, we reserve the right to say ‘no.’ If a certain  
program doesn’t follow the rules set down for the system, you can’t  
install or run it.”


More information about the erlang-questions mailing list