[erlang-questions] Microsoft Singularity Research OS

Matej Kosik kosik@REDACTED
Mon Mar 10 13:51:17 CET 2008

Hash: SHA1

Jay Nelson wrote:
> 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.”

I see a connection between things such as:
- - OTP supervision trees in Erlang (for fighting bad-matches in servers)
- - or reincarnation server (RS) of Minix3 (for fighting seg-faults in device drivers)
- - strong typing
You need either one or the other. I am not sure if you (that much) need both. Do you?
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the erlang-questions mailing list