l4-hurd
[Top][All Lists]
Advanced

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

task server


From: Bas Wijnen
Subject: task server
Date: Mon, 9 Aug 2004 22:34:34 +0200
User-agent: Mutt/1.3.28i

Hi,

I "finished" a task server, which has the following limitations:
  1. It doesn't compile, because I get undefined references to {malloc, free,
     calloc, etc} from the capability server.  I guess this should be fixed by
     a libc-like lib which calls physmem.  This means physmem should serve
     requests before it receives its task server capability, by the way.
  2. It doesn't actually communicate with wortel yet, so no task_control calls
     are made.  The architecture is there, that part just isn't implemented
     yet.  Wortel hasn't been changed to accept the request yet either.
  3. Because I haven't signed any copyright transfer forms yet, the copright
     is still mine.  I license the included code under GPL version 2, as it
     says.  Of course the FSF can license it however they like when the
     transfer is done.  Can someone tell me how to get those papers?
  4. It currently uses static tables of threads and tasks, limiting them to
     arbitrary sizes.  This is not acceptable for a final version.

While these are severe limitations, I think the code is a good start.  1
should of course be fixed, but the fix is probably part of physmem.  2 is not
hard, but it must be done.  3 is irrelevant.  About 4:

The tables of threads and tasks are used for most operations.  In any case
where a task info capability is present, the capability object will point to the
task's memory, making it irrelevant how it is stored (in terms of speed.)  The
only operation where the task info capability is not present, is "get the task
info capability."  This operation is used a lot, so it should be fast.  Using
arrays (and not linked lists, for example) gives a lookup of O(1).  The
problem is that the table will have an arbitrary size.  This can be solved by
making a linked list of tables, where each next table will be bigger (twice as
big for example) than the previous.  Anyway, I hope to have set it up in a way
that it can easily be substituted with something better.

I like to hear any reactions.

Thanks,
Bas

-- 
I encourage sending me encrypted e-mail.
Please send the central message of e-mails as plain text in the message body,
   not as HTML and definitely not as MS Word.
Please do not use the MS Word format for attachments either.
for more information, see http://129.125.47.90/e-mail.html

Attachment: task.patch
Description: Text document

Attachment: task-internal.h
Description: Text Data

Attachment: pgpCTe_6hPbZw.pgp
Description: PGP signature


reply via email to

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