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 301978
To read all comments associated with this story, please click here.
advantages
by geleto on Fri 22nd Feb 2008 12:13 UTC
geleto
Member since:
2005-07-06

What makes C# better for building a kernel than C/++ and/or assembly?

- You can run everything in kernel space. No syscalls, no context switching. Because the code is managed - the processes are still separate.
- You can pass objects directly to and from the kernel or between processes. Because each application and the kernel own their own chunks of memory - the current kernels have to do a lot of tricks to pass data around - using copying, the stack, messages, etc. With managed code in many cases - you can just pass a pointer.
- and of course - security

Reply Score: 6

RE: advantages
by l3v1 on Fri 22nd Feb 2008 13:25 in reply to "advantages"
l3v1 Member since:
2005-07-06

You can run everything in kernel space


I think I still have a long road to go down on, to arrive to a place where I might think that's something I'd like to have in a kernel just being developed.

Reply Parent Score: 1

RE[2]: advantages
by Nelson on Fri 22nd Feb 2008 15:04 in reply to "RE: advantages"
Nelson Member since:
2005-11-29

Using a Managed Language, you can verify your assemblies and essentially guarantee it will never spill over into another process.

Additionally, if that's not enough (At least in Singularity) you can selectively isolate the processes in Hardware as well.

But really, it's all about zero-copy process communication and ease of development.

Reply Parent Score: 3