At this time of year one often finds high stress levels among graduate students here at Madison, since we're enjoying the screening exams process. Students who want to pursue doctoral degrees must pass a set of difficult exams in computer science within a certain time period. We must pass one depth (four hour) exam, and two breadth (two hour) exams in different subject areas. One of my friends came up with a great way to apply his nervous energy (and cynical wit), which was to write this wonderful parody of an Operating Systems screening exam. Some of the humor is particularly poignant to people familiar with the particular exam, since the questions are recognizable twists on topics that seem to always come up. For example, Question 1 is about the paper "On the Duality of Operating System Structures" by Lauer and Needham, [Proc. 2nd Int'l Symposium on Operating Systems, IRIA, October 1978]. And Question 8 is clearly about the controversy over whether network file servers should be stateless or maintain state. Even without this "inside" knowledge, this exam is very funny. My friend is shy about posting this himself, but I think it deserves a wide audience, so I twisted his arm until he agreed to let me submit it. Computational Pedantry Instructions: For the BREATH exam: Answer any 4 of questions 1-6. For the DEATH exam: Answer any 6 of questions 1-6, and any 5 of questions 7-10. You are expected to spend about two hours on each fifth of the exam. You are allowed to spend about two hours on each half of the exam. BREATH QUESTIONS Breath 1. Duolity: In principle, Batman/Robin and Electrawoman/Dynagirl superheros should have similar power and performance. In practice, most Batman/Robin TV programs have achieved better popularity than Electrawoman/Dynagirl programs. (2a) Describe two opportunities for tasteful dress or believable plot offered by a typical Batman/Robin program that are not offered by a typical Electrawoman/Dynagirl program. Explain why these optimizations occur more often in the Batman/Robin programs. (2b) Describe how advertising buffers between episodes may be implemented in a Batman/Robin program with strictly premium channels. Breath 3. Resource Management: Every resource management system needs protection against overuse or abuse of the resource. Three general strategies are preven- tion, avoidance, and detection & recovery. (3a) Describe these strategies, carefully distinguishing between them, and give an example of each. (3b) Give specific arguments for and against applying the detec- tion & recovery strategy mentioned in N. Wirth's paper "Pro- gram Development Through Stepwise Refinement." Breath 5. Encryption: Pbafvqre n flfgrz jurer vagrecebprff pbzzhavpngvba vf ivn zrffntrf. Nyy zrffntr pbzzhavpngvba orgjrra znpuvarf vf rapelcgrq. Gur rapelcgvba shapgvba pna or cynprq ng nal bs frireny yriryf va gur flfgrz. Qrfpevor gur nqinagntrf naq qvfnqi- nagntrf bs rnpu bs gurfr nygreangvirf. (5a) Rnpu xreary vf erfcbafvoyr sbe rfgnoyvfuvat n frpher punaary gb rnpu bgure xreary gb juvpu vg gnyxf. (5b) Rnpu cebprff vf erfcbafvoyr sbe rfgnoyvfuvat n frpher punaary gb rnpu bgure cebprff gb juvpu vg gnyxf. (5c) Gur argjbex freivpr cebivqref (tngrjnlf, ebhgref, rgp.) ner erfcbafvoyr sbe rfgnoyvfuvat frpher punaaryf. DEATH QUESTIONS Death 8. Tasteless/Tasteful Hosts: A so-called tasteless host is one that does not maintain any information about guests between parties. For this question, assume parties are not replicated (no party is held in more than one veranda). (8a) How would you accomplish catering with a tasteless server? (8b) How does recovery from guests trashing the lawn at a taste- less host party differ from recovery at a party that main- tains open invitations? (8c) Consider a tasteless server where you have multiple guests wanting to speak simultaneously to a given host. How can you enforce consistency of access such that all eats and bytes from the server appear to obey some serialization? What are the performance ramifications of providing such consistency? Death 9. Synchronization: (9a) Briefly describe the principal differences between "doing lunch" and "you MUST call me" primitives. (9b) Describe problems which arise when distance vector routing algorithms are used and how these may or may not be corrected by "doing lunch." (9c) How have the presence of hall monitors affected development of these primitives? Death 10. Distributed Shared Memory: A single virtual address space can be supported simultaneously across the (homogeneous) processors of a collection of worksta- tions distributed across a local area network. (10a) Implement such a scheme. (10b) Integrate your scheme into the following three kernels, and give performance estimates on the modified systems: (1) UNIX (2) OS/360 (3) THE
(From the "Rest" of RHF)