-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|660|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
SoCoder -> Link Home -> Dev-News


 
JL235
Created : 26 January 2007
 

Singularity

A Microsoft Research Operating System

https://research.microsoft.com/os/singularity/
There was another very interesting topic on Ruby Forum earlier, about the idea of a Ruby based OS. During this topic someone mentioned Singularity, a C# written Research OS designed to try and experiment with several new and different OS ideas. For example they are trying to remove the ability to use 'unsafe code' (code which can access memory directly, and so potentially cause problems). Only 23% of Singularities source files contain unsafe code, compared to 100% of Windows, Mac OS, Linux source files. It also will not allow you to use unsafe code, partly also due it's architecture where memory sharing is not allowed.

All processes run in what are called SIPs, which cannot share memory or modify their own code. As a result all processes would need to communicate between each other using channels.

There is also a Wikipedia page, and several interesting video blogs on the MS page.

I was thinking though, if all processes (including things such as drivers and windows extensions) are working in their own independent space, with an 80 core processor every process could literally have it's own resources specified to itself. Perhaps this might be how Windows Vienna will take advantage of multi-core processors.

 

Comments


Friday, 26 January 2007, 11:44
power mousey
oh dear.

Ruby, Don't take your love to town.
--Kenny Rogers

or

the Hills have Eyes, the Walls have Ears, and the Windows have um well Ruby.
Friday, 26 January 2007, 14:45
JL235
Singularity has nothing to do with Ruby, I found it through the Ruby forum. That's why Ruby is mentioned.
Friday, 26 January 2007, 15:13
Yayyak
I have to admit that I do really like the idea of this Singularity. Microsoft Research has come up with a good idea here.

However, I have a few gripes about it. Using .NET bytecode as the machine code for this machine is a really bad idea. .NET is a stupid, object-oriented kludge (note that I'm not saying OO is bad, it just shouldn't be used as bytecode for a whole machine). They should be using something where you aren't tied to a specific paradigm. I, for example, would prefer some Lisp-style bytecode.

I'm not sure whether compiling the code before running it is the right way to go. I would prefer to be able to modify the code at runtime, just like a Lisp machine.

Actually, I probably should just go out an buy/build a Lisp machine.

I've been toying around with operating system development the last few years, and this gives me something to think about implementing. I might challenge myself to take on MS-Research.