[Top][All Lists]
[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