|
By Michael Cherry [bio]
Posted: Oct. 13, 2008
The following is an illustration accompanying an article published by Directions on Microsoft, an independent research firm focused exclusively on Microsoft strategy & technology. More samples of our content, as well as a list of upcoming articles and
reports are also available.

Singularity is an OS designed by Microsoft Research as part of an effort to build dependable systems. Singularity starts with a microkernel, which like the kernel in most OSs, provides low-level functionality, such as starting and stopping processes and handling input and output. The difference with Singularity is that the majority of the kernel is written using Sign#, a language derived from C#, and therefore contains both a runtime and garbage collection (GC)—releasing memory and other resources when a process no longer needs them while preventing common problems, such as buffer overflows, and allowing for static analysis to ensure code reliability.
Software Isolation Processes (SIPs, shown in gray) isolate device drivers, services such as file systems, and applications so that the data and code executing in a SIP cannot interfere with or damage another SIP. Each SIP contains data, a class library such as the Common Language Runtime class library (CLR), a runtime, and its own garbage collector. SIPs communicate with the kernel through an Application Binary Interface (ABI) but communicate with other SIPs through channels.
Channels support bidirectional communications by defining and enforcing the communication with contracts that define both the information to be transferred and how the actual transfer occurs.
|