User space scheduling, 2nd try

Robert Kaiser rob at
Thu Jan 23 16:25:34 CET 2003


I am currently pondering about ways to implement time partitioning
in an L4 context, i.e. the idea is to distribute processing time
to subsystems (consisting of groups of tasks/threads) according
to predefined rules. Ideally, the underlying subsystems should
be unaware of this process. Also, ideally, the concept should
be recursive (i.e. a subsystem task should be able to donate
(some of) its processing time to other sub-subsytems).

At first glance, the concept of external preempters, as specified
(though AFAIK never implemented) in L4 looks like it could be a
useable basis for this, however:

- I'm still having difficulties to fully understand preempters
in L4. Their specification in the reference manual is somewhat

- I have a few ideas of my own, but implementing them would require
extensions to some L4 functions. My past experience with the L4
reference manual has been that everything in there is there for a good
reason, but the reasoning is not always explained (which is probably
the way a "reference manual" should be).

I would very much appreciate if someone could point me to a document
that explains the reasoning behind preempters, as defined in L4.

Failing that, are there any publications on external schedulers in
the context of microkernels that might be helpful to read, any discussion
forums you might suggest?

.. or am I really on uncharted ground here?

Any response would be greatly appreciated


Robert Kaiser                         email: rkaiser at
Am Pfaffenstein 14                    phone: (49) 6136 9948-762
D-55270 Klein-Winternheim / Germany   fax:   (49) 6136 9948-10

More information about the l4-hackers mailing list