[Top][All Lists]
[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
task.patch
Description: Text document
task-internal.h
Description: Text Data
pgpCTe_6hPbZw.pgp
Description: PGP signature
- task server,
Bas Wijnen <=