Post a Comment
Java OS: http://jnode.org/
I think the focus of Singularity was to create a more reliable OS by stronger isolation of processes. I'm sure it's much more complicated than that.
Yes, and Singularity is much more advanced and has many different areas of research being made in it.
Writing a Managed Kernel is only the beginning, there is a much greater potential for a rich experience. It's still an area of active research, so it's pretty neat that these guys were able to at the very least boot a kernel written in C#.
Now, according to my reading the kernel isn't managed per-say, it seems like they translate the IL to x86 and execute that. It doesn't bring the benefits of managed code.
For now, yes, managed code is not actually supported, but that is our goal. As you can imagine, doing the project the way we are doing it does not lend to expedient development at least for this early stage. Our next milestone focuses on implementing object support and all the things that that entails.
"It doesn't bring the benefits of managed code."
Did I miss the point of Singularity? i.e. that the IL can be analyzed and given a safety rating. i.e. if the IL never dereferences pointers itself and uses safe API's, then the driver, etc..., can be labeled safe.
there are a lot of other nice things that can happen too....
Thank you for your interest! Yes, Singularity is similar to SharpOS, but unfortunately Singularity is not open source (or shared source for that matter), and it also makes use of a runtime written in a non-CLR language. They also created a special version of C# for the project. We are free software, and we strive to use tools/languages that are already mature and freely available.
>Actually by "free software" I meant free as in freedom, and yes, that is what GNU and other _free software supporters_ call software covered by GPL.
Not only GPL licensed software is Free Software. BSD, X11, MIT, Apache,... licensed software is Free Software too.
BTW: Why have you added a linking exception to the GPL?
Edited 2008-01-02 11:40
Use whatever license you prefer for your own works if you choose to release them. Respect the choices of others. And please refrain from trying to stir up a flame war here. There are so many *constructive* ways in which we can all interact. Why waste time and energy fostering conflict and bad feelings?
Except that Singularity and SharpOS are not that similar. The only thing they have in common are the CLR and C# except Singularity is written in Singh# which is C# with extensions that make writing OS's in C# possible.
The architecture is different. The three things that stand out are:
- Software Isolated Processes (SIP)
- Contract based Channels
- Manifest Based programs
D!! Why aren't any of these pie-in-the-sky hobbyist projects developing an OS in D? It's a native, C-compatible language that supports inline assembly, imperative, object-oriented, and template meta-programming styles with concurrency and serialization primitives, built-in unit test framework, and other goodies. If you're going to write an OS kernel in a very high-level language, then why not go with one that compiles to native machine code?
It's all a matter of choice, the ultimate purpose of a managed Operating System isn't the language it's written in. It's the advantages of managed code vs native code.
It could target any language which compiles to IL, but the key is in what you do with these advantages at the kernel level.
There's a lot of potential, and the people working on Singularity have published a few papers outlining some of the advantages.
IMHO the point is to have fun and just to prove that something like this is possible. There doesn't need to be any more reason than that, you know. Besides, this is a great challenge and for those who like mental challenges programming an OS is most likely pretty darn fun and interesting! I won't touch this SharpOS myself but I think this is a fantastic proof-of-concept and I wish all the luck to the devs :3
I think this is a great project and it's perfectly fair to compile IL down to native code. That's in fact what the .NET JIT does. AFAIK, .NET never interprets IL... it's always compiled to x86, x64, IA-64, PPC, or ARM. Singularity is based on a different compiler system than the CLR... it compiles everything down to machine code ahead of time and there's a lot of work being done in that group to continue the theorem-proving properties of the compiler into the native code layer.
I hope this project does well and leverages the work done by Mono and the other open-source .NET runtimes.




