I guess this may apply to many other services. But you wanted a specific example, and I found that I cannot imagine how ping can be easily implemented without (opaque) constructors.
In the constructor scenario I can run a service (on user resources) that does bandwidth accounting that ensures the administrator imposed network bandwidth policy but uses user memory and CPU time to store and update the accounting data. Then ping is a simple program that asks this service (or does a call and blocks until the service allows its packet). It then sends the ping, and waits for pong. Any number of (opaque, again) ping instances can be run at any time. The privileged network service can then be reduced to some simple interface like send_packet, receive_packet(_filtered?). Note that this is very similar to the competition scenario. The users and their programs compete for a resource that is both limited and privileged (in that it cannot be accessed directly). So I think that networking and competitions/exams will not be the only use cases. Thanks Michal
_______________________________________________ L4-hurd mailing list [email protected] http://lists.gnu.org/mailman/listinfo/l4-hurd
