l4-hurd
[Top][All Lists]
Advanced

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

loader question.


From: Rian Hunter
Subject: loader question.
Date: Tue, 17 Aug 2004 18:23:15 -0400

After reading the porting guide from Marcus I have some immediate
questions:

Since all tasks will be self-paged (i don't know if this has changed)
given physical memory addresses, how will program loading be handled?
My issues are with the conflicts between the memory already mapped
virtually for the program, with physical memory pages requested from the
memory server maybe having the same address (although this is unlikely).
Another issue is if the pages used by the executing text (+data) will
count as pages own by the task or not, if it is the task's
responsibility to handle it's own code pages.

Also with the self-paging: Assuming a POSIX program is run, completely
oblivious of the advantages it is offered with self-paging, how would a
malloc be handled. Would there be a seperate simple pager thread,
specific for each thread, started in the task to handle the malloc
request and to initially request memory from the physical memory server.
If so, this thread would have to be transparently started and loaded for
each POSIX program, adding the issue of notifying the loader which
programs are POSIX or not.

If POSIX programs are run not with local pager threads, but with a
global pager task(server) for the POSIX personality, then some UNIX-like
VM would have to be implemented in that server. That server of course,
would use the real physical memory server. Also this would simplify
things as malloc (which would only be called in POSIX programs) would
always know to use this server, instead of some arbitrary local thread.

Thanks!
-rian





reply via email to

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