[Mono-list] Mono and MS Singularity

Andreas Färber andreas.faerber at web.de
Wed Oct 25 13:32:40 EDT 2006


Am 25.10.2006 um 14:31 schrieb Joshua Tauberer:

> Alessandro Bottoni wrote:
>> I'm sure you know MS Singularity (http://research.microsoft.com/os/ 
>> singularity/).
>> Singularity is something like a kernel (similar to Mach) + a  
>> virtual machine
>> (similar to Mono/.NET VM) + a language (similar to C# but with  
>> special
>> contract-programming and multithreading features). (Yes, it is  
>> much more than
>> this but... ignore that, for the moment).
>> I wonder if anybody has even thought to re-create something like  
>> Singularity
>> starting from Mono (or GNU.NET). I mean, something like this:
>> 1) a kernel (Linux, Mach, a "managed code" kernel written in C#,  
>> whatever...)
>> 2) the Mono virtual machine (maybe with support for "channels" and  
>> other stuff)
> I don't know how relevant it is -- for this thread and the other  
> about a
> C# operating system -- but I was playing around with writing a managed
> runtime last month, that is, a .NET VM written in C#.  Some info here:
> http://razor.occams.info/blog/?p=41
> And code here:
> http://razor.occams.info/code/repo/?action=view&url=/mmr/
> Though it can run *very* basic .NET programs, it's many man-months  
> away
> from being able to run anything useful, mostly due to the need to
> reimplement a good chunk of the class library to fit with the VM.
> I think anyone interested in doing an OS or something low-level like
> that ought to consider the huge amount of effort that would be  
> needed to
> re-create the base class library....

Some months ago there was an admittedly short discussion on the list  
of Mono's future in the case of a managed Microsoft OS (see the  
archive) where I mentioned Singularity and pointed out the  
possibility to port Mono to such an OS in order to run any CLI we  
like - that would come close to Joshua's managed runtime project.  
(however I still don't believe Microsoft would put Singulary on the  
market as such, it's a research project)

Concerning the thought of a managed OS, wouldn't that either mean  
you'd have to write it in assembler and thus architecture-specific or  
you'd need CLI-specific hardware? I thought I heard for Java there  
was some research to create a processor that could directly execute  
Java bytecode, don't have any links though.
Anyway, there are a number of both experimental and commercial  
operating systems out there, each with their unique pros and cons -  
even if Novell as a widely known company said its OS would in a  
future version be fully managed, then that would still mean that they  
would have to "re-invent" everything from the ground up (resource  
management, threading etc.) just like any other OS (e.g. Linux) and  
even if they did and supplied drivers for virtually every device as  
well as a set of apps then that would still not assure a commercial  
success in the sense of a large user base. (think BeOS) Same argument  
as for Singularity. However, this is in no way intended to stop you  
from proving it can be done. :-)


More information about the Mono-list mailing list