l4-hurd
[Top][All Lists]
Advanced

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

Re: Pthread assumption + starting real port


From: Niels Möller
Subject: Re: Pthread assumption + starting real port
Date: 13 Nov 2000 14:00:37 +0100

Farid Hajji <address@hidden> writes:

> I'm seriously considering starting to rewrite auth (and probably later
> proc) mostly from scratch, defining a preliminary libmom API while
> proceeding. [...]
> 
> [If this doesn't make sense, please let me know before I start hacking
> in the wrong direction].

I think it would be good if you started with a draft of the libmom
interface. I think that would help others, and perhaps also yourself,
to understand what you want to do.

My list of things that belong in libmom are, in random order:

1. Threads

   Preferably pthreads.

2. IPC

   Ideally, the IPC-service defined here should not assume any
   particular microkernel, but it has to make the assumptions needed
   to implement the service without adding too much extra overhead.

3. Ports

   Some way to manage ports and send rights, transfering port rights,
   waiting for messages on any one of a set of ports, etc. This should
   be guided by the operations Hurd servers need, not on the services
   that happen to be provided by Mach. The entire security of the Hurd
   is based on port and port send rights, so I suspect they have to be
   supported.

4. Hardware
   
   Some hooks for attaching interrupt handlers to the system,
   accessing raw hardware, etc. I imagine it is difficult to do this
   well and have it work efficiently independent on the microkernel
   used.

5. Memory

   Mechanisms for setting up, sharing and transferring pages of
   memory. Hooks for pagers. The Hurd implementation of fork() may
   provide some requirements (I think one may want to do hairier
   things than fork(), but at a minimum one has to support the
   features needed by fork() and mmap()).

Happy hacking!
/Niels



reply via email to

[Prev in Thread] Current Thread [Next in Thread]