Thread overview
Help wanted for integrating OKL4 IPC into D
Jan 31, 2008
Harry Vennik
Feb 01, 2008
Joel C. Salomon
Feb 01, 2008
KlausO
Feb 01, 2008
Harry Vennik
January 31, 2008
Hi all,

I posted this request in a very old thread yesterday, and Walter suggested to make it a new thread, so here it is...

I've started work on creating an OS using the D programming language. As the foundation I chose the OKL4 microkernel, but I am left with one big problem now, and that is the IPC code generation. Any software in C written to run on top of OKL4 would use code generated from IDL, but it seems to me that such is not the way to go with D. So I'd like to be able to use just a D interface, and then have it somehow be exposed via IPC. Ideally the way D interfaces are called would be compatible to IDL interfaces, but that is not a strict requirement (i.e. if such comes with a couple of disadvantages, we probably shouldn't do it, otherwise it's probably the way to go).

Is there anyone interested to help me to integrate that IPC with D?

Regards,

Harry

PS: I know there are some similar efforts. Of course you are free to mention those (I might not know them all ;-)) but chances aren't big any of those will really match my project. And as I have a very complete picture already of what it should become like, I'd change that only if there is a really VERY good reason.
(Still working on documenting the idea, btw)
February 01, 2008
Harry Vennik wrote:
> I've started work on creating an OS using the D programming language. As the foundation I chose the OKL4 microkernel, but I am left with one big problem now, and that is the IPC code generation.

You might consider looking at other OSs; Plan 9 from Bell Labs, for instance, is a full kernel that adopts some microkernel properties while weighing in at much less code than many µkernels.  Not to get in to a “my kernel type is better than yours” contest, but a small, clean, modular design might well benefit from re-implementation in D while the semantics of a particular µkernel might be a mis-match with D’s object model.

Good luck & have fun with whatever you decide on.

- --Joel
February 01, 2008
Harry Vennik schrieb:
>
> ...
> 
> PS: I know there are some similar efforts. Of course you are free to mention those (I might not know them all ;-)) but chances aren't big any of those will really match my project. And as I have a very complete picture already of what it should become like, I'd change that only if there is a really VERY good reason.
> (Still working on documenting the idea, btw)

This reminds me of automatic wrapper generation which is done extensively in the PyD project on dsource.
I once asked a question about wrapping of interfaces, but I have not got further into it (see http://www.dsource.org/forums/viewtopic.php?t=2462&sid=4b4f68398e97672027247112d763ccee).
So if PyD is able to create wrappers with the D template system, it should be doable to create proxy/stub implementations with this approach.
February 01, 2008
KlausO Wrote:

> Harry Vennik schrieb:
>  >
> > ...
> > 
> > PS: I know there are some similar efforts. Of course you are free to mention those (I might not know them all ;-)) but chances aren't big any of those will really match my project. And as I have a very complete picture already of what it should become like, I'd change that only if there is a really VERY good reason.
> > (Still working on documenting the idea, btw)
> 
> This reminds me of automatic wrapper generation which is done
> extensively in the PyD project on dsource.
> I once asked a question about wrapping of interfaces, but I have not got
> further into it (see
> http://www.dsource.org/forums/viewtopic.php?t=2462&sid=4b4f68398e97672027247112d763ccee).
> So if PyD is able to create wrappers with the D template system, it
> should be doable to create proxy/stub implementations with this approach.

This certainly looks interesting. I'l investigate this further. Thanks!

Harry