Kernel internal language
Posted: Wed Jan 16, 2013 2:07 pm
Here's the point.
All kernels I have ever seen consist of a Hardware Abstraction Layer (with device drivers), and other concepts built on top on it. So I thought of a thing; once we have all those pieces, wouldn't it be better to code the kernel itself using a custom language that would be platform-independant (using a bitcode system such as Java's one) but interoperable with other languages such as C. The basic idea is that we would write platform-dependant thing in classic languages such as C, but generic things (such as scheduling algorithm, task management, logical device coordination...) in a platform-independant language that would just allow us to organize the kernel, while calling the C routines for everything that is actually platform-specific. This would allow us to port our kernels to other architectures by just rewriting a bitcode compiler and all those platform-specific things, but the kernel would work just fine without a single code change.
I searched Google, and found a similar project at Microsoft Research, called Pebble, and even though I don't like Microsoft so much, I'm glad to know that there are professionnals thinking alike me. So do you think it would be worth it ?
All kernels I have ever seen consist of a Hardware Abstraction Layer (with device drivers), and other concepts built on top on it. So I thought of a thing; once we have all those pieces, wouldn't it be better to code the kernel itself using a custom language that would be platform-independant (using a bitcode system such as Java's one) but interoperable with other languages such as C. The basic idea is that we would write platform-dependant thing in classic languages such as C, but generic things (such as scheduling algorithm, task management, logical device coordination...) in a platform-independant language that would just allow us to organize the kernel, while calling the C routines for everything that is actually platform-specific. This would allow us to port our kernels to other architectures by just rewriting a bitcode compiler and all those platform-specific things, but the kernel would work just fine without a single code change.
I searched Google, and found a similar project at Microsoft Research, called Pebble, and even though I don't like Microsoft so much, I'm glad to know that there are professionnals thinking alike me. So do you think it would be worth it ?