Stanford Operating Systems Quals

2002 2001 2000 1999 1998 1997 1996 1995 1994 1993 1992

1998 Problem Set

The objective of the exam is to find out what you know about operating systems and to assess your ability to identify problems that arise in operating systems and develop solutions to these problems. Note that several of the questions have many "right" answers so be sure to provide justifications. State any assumptions you make when answering the questions. Problem 1 (20 points) You have become involved with a project to build an "Information Mural", a wall-sized computer screen for displaying information. The users of the device would like to save all their active windows on the display and restore them sometime in the future when they return to the display. The model would be like closing a laptop and opening it back up later and picking up where you left off. Unlike a laptop, other users would take over the mural between the save and restore.

Arbitrary application programs running on a computer that drives the mural generate the windows. The computer is running a modern operating system such as Unix or Windows NT. As an OS person, you are asked how difficult it would be to enhance an operating system so that it would be possible to support this new mode of usage. Describe what changes would need to be made to the operating system. What would the problem areas and limitations of the approach be?
Problem 2 (12 points) While early work on synchronization such as monitors are still in wide use today, researchers are becoming interested in non-blocking synchronization. Describe the advantages and disadvantage of non-blocking synchronization as compared to monitors. When would you choose one over the other for a design? Problem 3 (14 points) There has been a long debate in the operating system community as to the role of transactions in operating systems. One school of thought is that transactions should be first class OS citizens with the operating system providing high-level interface (begin, commit, abort) and all system services operating under transactions. The other school of thought is that operating systems provide support for building transactional systems but shouldn't implement the transactions.

Describe the arguments for and against each of these viewpoints.
Problem 4 (14 points) For each of the security related problems below, describe how encryption technology (public and shared key algorithms, message digests, etc.) can help deal with the problem.

a) Recently we have had problems in Gates with hackers running network snoop programs that watch rlogin and telnet streams for passwords being typed. Assuming we aren't going to give up on password-based authentication, explain how it is possible to log into a remote system without having the password exposed on the wire to these snoop programs.

b)Trojan Horse attacks like leaving a program that looks like a login screen running on a machine at Sweet Hall have long been an annoyance. Describe how encryption technology can defeat this kind of an attack.

Maintained by Gurmeet Singh Manku