L4Re: C++ or DICE for IPC

Valery V. Sedletski _valerius at mail.ru
Thu Feb 24 02:49:09 CET 2011

Hi, Bjoern,
thanks for answering my question so quickly

On Tue, 22 Feb 2011 11:52:11 +0100, Bj rn D bel wrote:

>> Is DICE discontinued? And how can I do something with communication code if not using IDL?
>Yes, Dice has been discontinued and is no longer supported in L4Re.
>For the moment, you can use the C++ IPC streams provided by L4Re for
>communication. You can also directly use the C system call bindings for
>IPC, which requires you to write the marshalling/unmarshalling code
>manually, though.

Yes, of course, I knew of such a possibility. I can manually call IPC syscall of L4,
but here is so much handwork and so it is not desirable.

>For other programming languages it would for now be necessary to provide
>some kind of bindings to the C or C++ interfaces. Difficulty varies
>depending on the language. We're using Lua for configuration purposes
>and it's easy to call C functions from Lua code.

I just prefer using C+IDL than C++ because I believe that OOP must be a property of an OS but not a 
single language, like an approach in IBM's SOM/DSOM. In SOM, applications can be written on
any language with IDL bindings, and class hierarchy can use a cross-language inheritance (classes
are encapsulated, so you doesn't have to have a class source for using it, and  you can use a C++ class 
from a a C program and inherit a C-written class from a
C++-written one).

I think, hiding the IPC under C++ iostreams is an interesting approach, but with my point of view,
not good because it ties a programmer to a single language. (But maybe, someone will make the bindings
for C somehow?)


More information about the l4-hackers mailing list