[Mono-list] Mono and MS Singularity
Andreas Färber
andreas.faerber at web.de
Wed Oct 25 13:32:40 EDT 2006
Hi,
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. :-)
Andreas
More information about the Mono-list
mailing list