March 21, 2008
Singularity: Dependability In a Very Minimalist Way

If you had to guess (and you do), who would you credit the following rhetorical question to?
What would software look like if it were designed from scratch with dependability and trustworthiness as the primary goal?
Give up? Well, would you believe "Microsoft"? Of course, asking the question is one thing, answering it is quite another. Yet answering it was the goal of a Microsoft Research team led by Galen Hunt and Jim Larus. And the recently released results of their research is Singularity, a system-architecture and operating system built on advances in programming languages and tools.
In what seems a very non-Microsoft way, Singularity was intended from the outset to be a minimalist system. It differs fundamentally from other operating systems in that it is written almost entirely in an extension of C# and leverages built-in C# security features, thereby avoiding things like buffer overruns.
Key to Singularity is the concept of software-isolated processes (SIPs), which provide the strong isolation guarantees of OS processes without the overhead of hardware-enforced protection domains. Because SIPs are cheap to create, Singularity runs each program, device driver, or system extension in its own SIP. SIPs can't share memory or modify their own code, leading to strong reliability guarantees about the code running in a SIP.
The Singularity Research Development Kit (RDK) 1.1 is freely available for academic noncommercial use.
-- Jonathan Erickson
jerickson@ddj.com
Posted by Jon Erickson at 09:46 AM Permalink
|