[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Questions
From: |
Martin Schaffner |
Subject: |
Questions |
Date: |
Thu, 28 Oct 2004 18:57:04 +0200 |
On 25.10.2004, at 22:40 (digest), Neal H. Walfield wrote:
[1]
http://web.walfield.org/pub/people/neal/papers/better-best-effort
-20021026/
Thank you for providing this presentation. I'm more of a lurker, but
after listening to this, I've written down a couple of questions that
sprang to my mind:
What happens if a task that has to return extra pages does not get the
chance to do so, because it does not get any time slice? Further, if it
does get a timeslice, how does the developer assure that the actions,
which the programs does to make the eviction decision, fit into the
given time? As there is no time to do any swapping, I guess all
operations that lead to the decision will have to only access memory of
guaranteed pages. How does the developer assure that the algorithm is
fast enough, and that this holds on all architectures that GNU/L4 runs
on?
Which task owns the version specifier of a container? What makes sure
that a container's version is incremented on container_copy_in? is this
done by a physmem, or another trusted server?
Is it possible that a task does (UNSIGNED_INT_MAX - 1) operations on a
container to reset its value, to cover up an operation?
Can the owner of a container bypass the usual library and access it
without touching its version? Is this not a problem because of the
container locking mechanism?
Can both the owner of the container and the device access the contained
memory directly (if it is not locked), thus enabling zero-copy memory
transfer?
For lock_physical, a device driver has to be privileged. Is it still
possible to have device drivers started by users? This could be useful
for example for USB devices.
Will the adresses pointing inside a container be the same for all its
users? If yes, what if there are conflicts (a task tries to map a
container, but the container's adresses are already in use by the
task)? If no, is it therefore impossible to directly store a linked
list in a container?
Can hurd task use L4 IPCs without restrictions (for example for a
single notification), or are they limited to hurdish communication?
Thank you,
Martin
- Questions,
Martin Schaffner <=