Friday, March 21, 2008

Microsoft Singularity - Series II


Somehow, the Singularity project has something that keeps you coming back to update. As I promised, I delved into the innards of Singularity and today I read about the Software Isolated Processes (SIPs) in Singularity.

Basically a SIP is a holder of processing resources and
provides the context for program execution. Unlike
traditional processes, SIPs take advantage of the type and memory
safety of modern programming languages {C#(Sing# in this case)} to dramatically reduce
the cost of isolating safe code.

Execution of each user program occurs within the context of a
SIP. Associated with a SIP is a set of memory pages containing
code and data.

The best feature of using the SIP architecture is failure isolation, which I believe is very important in the OS purview.

More on MBP- Manifest Based Programs in the next post..

Saturday, March 15, 2008

Microsoft Singularity - Series I

I have been reading a lot about Microsoft Singularity, the nex-gen OS research platform and since I have not been updating very regularly lately, what better than Singularity to start with...

What has caught my fantasy in the Singularity Project is the amount of code that has been written in higher level languages, especially C#, breaking the age-old adage that 4th Gen and higher Languages are not meant to write OSes. Around 80% of the source code of the Singularity project has been written in C#. Actually, the Singularity is not an OS in itself, its a platform that allows you to code specifically tailored OSes with an eye into the future, giving emphasis on modularity and impregnability of process memory.

The 3 pillars on which Singularity, conceived in 2003, stands are - Software Isolated Processes (SIPs), Manifest-Based Programs (MBPs) and Contract-Based Channels.. There are many more features that show a radical change in the architecture of OSes that we should look forward to in the near future.

Watch this space for an in-depth analysis of the Singularity architecture.