On Wed, Feb 14, 2001 at 03:21:16AM +0100, Farid Hajji wrote: > > We're talking about a microkernel arch, but still I'm > > not sure if turning hurd into gnome is a good idea. > [...] > > Interoperability is a good idea, but if you bloat the > > whole code with interoperability stuff then it blows up. > You can add as much interoperability stuff between apps. > if you wish. But please keep the overhead to a minimum > when it comes to hurd servers!! > > 1. Porting the Hurd to non-Mach kernels (L4 is being one of > the candidates) would be IMHO easier if the interfaces > use plain C and are as simple as possible. > > The problem here is not the interoperability or adding > yet another abstraction layer on top of what is already > there. On the contrary: There is currently too much > communications overhead already in the ports library. > > I'd humbly suggest that before we seriously consider Corba > as a MiG replacement, we simplify the existing interfaces > as much as possible. Trying to port the Hurd to L4 is a > hard enough task and I'd prefer to have to _simplify_ MIG > (requirements) and provide an L4 backend to it, rather than > having to fight with yet more complex interfaces. [Sure, > L4 has completely different characteristics as Mach, like > synchroneous IPC and lack of port-rights, so a port to L4 > requires much more work than just adapting MiG, but why > make it even harder?]
CORBA is not a runtime library, so if you "add CORBA" support to something does not necessarily mean bloat. CORBA is mainly a standard to aid in development, I think that's the best light that IDL could be cast in. If you know that you'll know that the interfaces you're dealing with are Mach ports (or whatever L4 uses), you can implement the actual message passing with inline stubs that use Mach's (or L4's) proper messaging protocols. Hence no performance is lost, and you've just saved yourself a whole lot of typing effort. Also microkernels do not need to have anything to do with CORBA at all, infact it would be a mistake to tie the former with the latter. The best way CORBA can be used is as a development aid to superimpose uniform interface types on otherwise very different backends, Mach and L4 for example. [ snip ] > > 2. The Hurd is intimately tied to glibc (sysdeps/hurd, sysdeps/mach/*) > and unthinkable with another libc. If you want to port the Hurd, > you _must_ currently also port glibc. This actually makes perfect sense. Hurd and glibc are part of the same larger project, GNU. And Hurd was specifically designed to be integrated with glibc, it didn't happen because of some fluke or because people were lazy. Igor

