Linked by Thom Holwerda on Fri 22nd Feb 2008 09:16 UTC, submitted by obsethryl
.NET (dotGNU too) "Previously, we have presented one of the two opensource licensed projects related to creating a C# kernel. Now it's the time to complete the set by rightfully presenting SharpOS, an effort to build a GPL version 3 + runtime exception licensed system, around a C# kernel of their own design. It is my pleasure and priviledge to host a set of questions and answers from four active developers of SharpOS, that is William Lahti, Bruce Markham, Mircea - Cristian Racasan and Sander van Rossen in order to get some insight into what they are doing with SharpOS, their goals, their different design and inspiration."
Thread beginning with comment 301979
To read all comments associated with this story, please click here.
So what ?
by Treza on Fri 22nd Feb 2008 12:21 UTC
Treza
Member since:
2006-01-11

Sometimes I feel that those C# kernels are more like a 'microkernel rocks' rehash ( like Linus vs. Tannenbaum ) than genuinely innovative designs, especially comparing to the legendary Smalltalk and Lisp machines.

The memory sharing and protection stuff has been discussed for ages. Everything runs in kernel space: Bwahahahahahahah

I feel that with current mainstream hardware, it is more interesting to build a world inside a virtual machine than doing an OS from scratch.
If a C# OS does nothing to change the way applications run and share data, ... (try Squeak as an example), It seems pretty useless.

And using C# in small embedded designs is laugable.

Could anyone tell me what is so amazing about C# ?
Seriously, what wonderful things shall I wait for ?

Now, mod me down ;-)

Reply Score: 3

RE: So what ?
by dagw on Fri 22nd Feb 2008 12:31 in reply to "So what ?"
dagw Member since:
2005-07-06

Could anyone tell me what is so amazing about C# ?
Seriously, what wonderful things shall I wait for ?


It's not C# in and of itself that is "so amazing", although it seems to be a fairly well designed language. The cool thing is the CLR, C# is just a way of using the CLR.

Reply Parent Score: 2

RE[2]: So what ?
by J.R. on Fri 22nd Feb 2008 13:01 in reply to "RE: So what ?"
J.R. Member since:
2007-07-25

"Could anyone tell me what is so amazing about C# ?
Seriously, what wonderful things shall I wait for ?


It's not C# in and of itself that is "so amazing", although it seems to be a fairly well designed language. The cool thing is the CLR, C# is just a way of using the CLR.
"

Perhaps in this scenario (OS) its the CLR that is the cool thing, but I have to argue that C# (and the .NET class library) itself is rather amazing. Ofcourse you have to compare it with something in order to draw that conclusion.

For me, which are educated as C++ and Java programmer, I just love the fact that C# is as powerful as both those languages together. Its as simple (both in language features and level of abstraction) as Java, yet got all the features of C++ (unsafe code). It got a clean class library with the same features as Java's, but without all the legacy/compatibility code and overengineered factoryfactory factories classes...and much better feature-set than any C++ library I have ever used. Abstraction for rapid application development and readability, is worth its weight in gold for alot of programmers (especially in the enterprise market where it has to fit within the business models and so on...).

Last but not least, anyone still using C/C++ for applications and then gets rooted because some stupid buffer overflow can only blame themselves. It has been known for ages that code written in C/C++ WILL lead to these problems...even at the hands of experienced programmers. If you ever written a C++ code with more than 1000 lines, don't come here and tell me you never had dangling pointers, insufficient bounds checking, string formating errors, and what not in your code... I certainly have. Getting these kinds of problems OUT from the core of the operating system should be enough reason to embrace C# (or any other similar language) at once.

Reply Parent Score: 5

RE: So what ?
by Nelson on Fri 22nd Feb 2008 15:11 in reply to "So what ?"
Nelson Member since:
2005-11-29

What exactly is useless about those two points?

Memory is completely isolated from process to process, and communication is done via secured channels.

Optional hardware isolation for untrusted (or even legacy and VM'ed native code) processes, and the ability to proof code before it's ever run.

The advantages are all about making these assumptions, and taking the stress off of the developer to do this tedious work.

This is basically software memory protection and instant IPC without using the processor at all.

This does two things:

It frees you of the speed penalty of many context switches (so you don't have to do something dangerous like implement shared memory), and it makes your code heavily portable.

Since you're using no features from the Intel architecture you would easily be able to port it to another platform.

Now when you look at Channels for IPC it seems like a bad idea, until you factor in that it's an instant transfer of data.. and a secure one at that.

The concepts start to look a hell of a lot more attractive given the details.

Reply Parent Score: 3