l4-hurd
[Top][All Lists]
Advanced

[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





reply via email to

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