

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
UNIVERSITY OF WISCONSIN-MADISON. Computer Sciences Department. Operating Systems. Spring 2009. Instructions: There are six questions on this exam; ...
Typology: Exercises
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Instructions: There are six questions on this exam; you must answer all of the following questions.
This question is about synchronization in multi-threaded programs. Composability is always a problem for monitor-based synchronization systems (e.g. Mesa). Suppose procedure P of monitor M1 calls procedure P2 of monitor M2 and P2 executes a "wait"; what would the monitor system do at this point? What are the potential problems?
Deadlock is a potentially nasty problem one encounters in multi-threaded programs. Please list the necessary conditions for a deadlock to occur.
Can the following approaches guarantee that deadlock will be avoided or recovered from? Please explain, using examples to support your answers. A. Never do context switch inside a critical section Whenever a deadlock occurs, roll back the program to an earlier checkpoint outside any critical section and re-execute the program
This question is about NFS version 2, the classic stateless distributed file systems protocol from Sun. An application on a client issues a write to a file. That write is buffered in client memory for some time. Why do NFS clients do this? What are the advantages and disadvantages?
The ack from the server gets lost, and the client resends the write protocol request. What happens in this case? (and why does it work?) What could the server do to improve performance in this situation?
Many important operating system kernels were designed in the context of a uniprocessor or a system with a small number of processors.
The working set model of memory determines how much memory a process requires to make steady progress. The original working set mechanism was described for fast memory and a slow hard disk.
Explain how the working set of a program changes when the hardware you are using changes.
This question is about Grapevine, a classic distributed system from Xerox PARC. Grapevine strives to be a highly available and reliable message delivery service. Describe the guarantees Grapevine provides to clients regarding availability and reliability.
Grapevine uses replication to achieve high availability for the message delivery service. What does Grapevine replicate? Why? What does Grapevine not replicate? Why not? What are the advantages and disadvantages of this approach?
Grapevine specializes its definition of consistency for this particular service. In what way(s) does Grapevine relax its consistency requirements? How does this definition impact the user? Why (or why not) are these consistency semantics appropriate given their goals?
Consider a virus that infects a program through its input. The virus copies some of the user's files up to a central server and propagates itself by generating output that is later read by another instance of the program on another system.