[Mono-list] Linux.NET

Daniel Carrera dcarrera@math.toronto.edu
Sat, 13 Apr 2002 05:03:36 -0400 (EDT)


You can't write an OS in C#

First, C# just isn't fast enough.  To write an OS you need a level of
power that only C and assembly can provide.  You need low-level access
and you need efficiency.  The Linux kernel is written in C, not C++ (a few
compoents are probably even in assembly).


Second, Linux is already immesnsely configurable.  It is already divided
into a kernel and a set of modules.  Most of the code in Linux is
actually on the modules.  You can choose to only run the modules you
need.  This customisability is part of the reason why Linux is so
succesful in the embedded market.

Third, I have trouble seeing how this idea would be possible.  C# code is
compiled to the IL.  Then a JIT turns this into native code just before
running it.  By the time you have all this infrastructure you will just
about have an entire OS.  There won't be much left to write on C#.


Cheers,
Daniel.


On Sat, 13 Apr 2002, John Rebbeck wrote:

> Would it be possible to create a (or use an existing) Linux kernel in
> C++ but only the minimum required to implement the Mono version of the
> CLR (and whatever else is needed to run .NET applications) and to set
> some properties to load a chosen program when it starts (the explorer
> program)? This way you could build an OS almost completely in C# which
> is much easier to program than C++. You would be able to download OS
> components from the web, download interfaces, etc. similar to the
> current versions of Linux and you could completely customise the OS.
> With this, if you wanted a PC to do set specific tasks you wouldn't
> have to install an OS, only the kernel, then you just build on that, and
> you can't do this with Windows because you have to install everything
> first.
>
> Anyway, just thinking out loud. If anyone wants to try this I'd love to
> build some of the C# components for it, and anything else I can do to
> help. Also, please tell me about it because I would love to have an OS
> as functional as Windows but without the crap.
>
> Cheers,
> John
>