[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Some Hurd and Mach programming questions



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 <maniek@beer.com>
> 
>    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.



Reply to: