Homework 12

22C:116, Fall 1997

Due Monday Dec. 8, 1997, in class

Douglas W. Jones

  1. Why do some distributed operating systems, most notably Mach and Demos, implement certain kernel operations using messages to special servers that are, logically, part of the kernel? In other words, why not just use conventional kernel calls for these services, and what is the advantage of using the message passing mechanisms for them?

  2. What are the three most significant differences between Mach and Demos. Don't rank order these differences, but give a one sentence explanation of each.

  3. Background: Consider the problems posed by a database system where the traffic to the database had saturated the computational power of a single database server. Therefore, it is concluded that the database server will be replicated, so that two servers share the load imposed by the clients. Each server maintains a its own cache of database records that its clients are manipulating.

    The Problem: Cache coherency -- that is, assuring that updates made by one server are reflected as changes in the cache maintained by the other, is a major problem in this system. Describe a solution.

    Hint: This problem is related to distributed virtual memory.

  4. Amoeba's cryptographic security mechanism is applicable to far more than communications capabilities. Explain, in some detail, how the operating system kernel on a machine with a conventional memory management unit could give users copies of capabilities for pages of physical memory, sealed using an Amoeba style cryptographic security scheme.