On Fri, May 19, 2000 at 02:19:40PM +0200, Mark Kettenis wrote: > Date: Fri, 19 May 2000 13:24:13 +0200 > From: Tomasz Wegrzanowski <[EMAIL PROTECTED]> > > Mach/MIG related : > > 3. > How good is MIG ? > What special, non-obvious features are really in use if > compared to interface build on : > write (port, (int)sizeof(request), sizeof(int)); > write (port, request, sizeof(request)); > and > read (port, &size, sizeof (int)) > request = malloc (size); > read (port, request, size); > > I dont understand what you mean here.
How much of IPCing really needs MIG and couldn't be done by some set cpp macros or other way that don't need inventing a new language (.defs) ? > 5. > Does using lowest level Mach calls for IPC make any sense ? > > This is done in several places in the Hurd. Grep for mach_msg. In > most cases this is done to circumvent limitations of MiG. It makes > only sense to do this in code that's really Mach-specific. Avoid it > if you want your code to be usable if the Hurd ever runs on a > different microkernel. Is using MIG any more portable ? > 7. > What would be needed for Linux-based microkernel to replace Mach if > it had nice support of user-space filesystems and Hurd uids ? > > The Hurd uses quite a number of Mach-specific features. The most > important ones missing from Linux are probably sane thread support and > an external paging interface. Implementation of user-space > filesystems and Hurd uids wouldn't be a problem. But I don't think > Linux will ever be a real microkernel, and I'm not sure if trying to > get the Hurd running on Linux would be such a good idea. Runing on top of Linux microkernel you have *all* device drivers, KGI for free, probably all net protocols and similar goodies ( depend on way of micro-kernelizing Linux ) and quite good performance to start with.

