Microsoft's Singularity

Friday, October 31, 2008

Singularity is Microsoft's latest venture into research. No, its not the consequence of a 'Vista failure' ( I still love Vista. I think it's great!). The project had begun way back in 2003. It's not a commercial Operating System and right now it only has a command line interface. They are basically aiming to come up with an operating system that'll be more suited to the modern needs of computing. The entire system has been started right from the scratch.

It's base of architecture is formed by .NET Framework. Unlike MS Windows, MAC, Linux, Unix which trace their lineage back to MULTICS, Singularity is different. About 95% of the kernel code is rewritten in C# and Sing# ( Extension of C#). The usage of this will eliminate buffer related errors on which the viruses of several types capitalize thereby, as it was pointed out, increasing security.

 

singularityarchitecture                                                                                              Fig 1.Singularity Architecture

It's three key architectural features are

  1. Software Isolated Processes (SIP):

These are independent of each other having their own code, data, garbage collector, runtime and communicate through channels. It enables programs and system resources to be broken down into components that are isolated from other software components running on the same device. Singularity runs each program, device or driver or system extension in its own SIP. SIP's are not allowed to share memory or modify their own code. It enables parts of system to fail without risking total failure. Consider the analogy, If the radio fails in the car, the brake does not fail. This will replace the conventional dual mechanisms of processes and dynamic code loading as well as encapsulating the application extensions.

   2.  Static Analysis:

Now, the several programs' SIPs need to communicate with each other in case they work on shared resources or on shared objectives to facilitate information exchange. Static Analysis, here, is the mechanism devised for the aforementioned. The codes of the processes are checked at compile time to ensure if they are communicating properly even before the code is run. It inspects a program’s source code in advance to make sure a process obeys certain rules that guarantee it’s isolated from the rest of the system. Traditionally, programs were checked at run time, using hardware mechanisms.

3. Manifest based programs:

The contemporary OSes do not analyze a program's composition, purpose or the resources it is going to utilize. Being represented with a series of bits it would simply execute them. However, while building Singularity, researchers have clearly laid emphasis on system dependability and because of this each program to be executed is checked to see if it'll lead to a break or breach in the other programs that are already running. In other words, Singularity reserves the right to say NO if the program that's going to be run will not comply with the OS rules and standards.

singularitycli                                                                     Fig 2. Singularity's Command Line Interface

To be more precise, Singularity is more like an emerging prototype to come up with a system that is more tailored to the modern needs of computing. The Singularity project illuminates the broader implications of using managed code to develop operating system components. The Singularity research development kit (RDK) is available for download at CodePlex. But can only be used for noncommercial academic use, and the license for the Singularity RDK explicitly stipulates that you can't use the included compilers to develop production software.  Currently research is moving to the development of Singularity RDK 2.0.

5 comments:

Unknown said...

wonder whether windows 7 (MS's next OS) would be as per this standard

Ni said...

no windows 7 looks more like enhanced vista with only more ease and functionality..its supposed to be out by early 2010..Singularity is totally new and i guess it'll be still classified as research in many more years to come

Vasudev Kamath said...

Good one niha.. Neway Vista may be good but still it has 550 million lines of code copied from Apple that i don't like

Ni said...

Well apple has copied half the code from BSD Unix..moreover its not really copying..it's more like these companies are a reaching a common goal in designing their OS for users. If u had to design an OS it'd wud ve too many things similar..

Vasudev Kamath said...

To tell all the OS ur seeing now are from the Unix based OS. First read all the articles in the following link http://artlung.com/smorgasborg/C_R_Y_P_T_O_N_O_M_I_C_O_N.shtml
Linux is not based on MULTICS. Read wiki articles on Linux to say Linux is not an OS! you didn't read my article "Linux according to me" I guess :)

 
Design by Pocket