Assignment 12, due May 5

Part of the homework for 22C:112, Spring 2008
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

Always, on every assignment, please write your name legibly as it appears on your University ID and on the class list! All assignments will be due at the start of class on the day indicated (usually a Friday). The only exceptions to this rule will be by advance arrangement unless there is what insurance companies call "an act of God" - something outside your control. Homework must be turned in on paper and in class! Late work may be turned in to the teaching assistant's mailbox, but see the late work policy. Never push late work under someone's door!

  1. Background: Read Task Communication in Demos, a 9-page paper describing a nice little operating system, much smaller and better organized than, for example, Unix or Windows.

    Modern operating systems can frequently be divided into a kernel, the innermost privileged part that can bypass memory protection, and various middleware and system support processes that are outside the kernel. On Unix, for example, read() and fork() are kernel calls, while the X window manager and the mailer, as well as many daemon processes, are outside the kernel.

    a) Enumerate the kernel services of Demos (all of them are listed very briefly in the paper). (0.5 points)

    b) Identify several system functions that are outside the Demos kernel but that are included in the Unix kernel. (0.5 points)

  2. Background: In Demos, there are several cases where messages are sent implicitly over links. That is, the kernel sends a message to the task referenced by the link as a result of some activity, where the initiator of that activity did not explicitly send a message.

    a) Explain why a task might need to know when a link is duplicated or destroyed. (0.5 points)

    b) Explain why one link type does not include such notification. Why? Is this a design error in Demos? (0.5 points)

  3. Background: Read Experiences with the Amoeba Distributed Operating System, an 18-page paper describing a nice distributed operating system. Note that this paper does not mention the Demos system. Despite this, focus your reading on parallels between Demos and Amoeba.

    a) Describe the parallels between Demos and Amoeba. Specifically, relate the use of Demos links to Amoeba capabilities. (0.5 points)

    b) In Demos, there is no way for a user to forge a link. In Amoeba, a malicious user could attempt to forge a link. Briefly describe the tools Amoeba provides to prevent such a forgery from being useful. (0.5 points)