next up previous
Next: About this document ...

NEW MEXICO STATE UNIVERSITY
Department of Computer Science






Operating Systems Qualifying Examination
August 24th, 1999 -- 1-3pm






Question 1. Concurrency (60 points)

The concept of pseudo-concurrency and its associated problems are critical to the understanding of operating systems. Please answer the following questions regarding this issue. In your answers please respond to each of the components of the question directly. What this means is that we want a complete and separate answer for each part of the question.

Part 1. Pseudo-Concurrency

Assuming we have a computer with only a single CPU, how can we have problems associated with concurrent process execution? Identify the root causes of the problem and give at least one example expressed in some sort (you choose) of pseudo code.

Part 2. Mutual Exclusion

Mutual exclusion is a major problem that results from pseudo-concurrency. Please respond to the following:

A. Show how mutually exclusive access issues stem from pseudo concurrence

B. What is the single most important operation in a process that gives rise to the problem

C. Can the problem be solved in software. Please explain your answer using some method to describe your answer in an algorithmic manner.

D. Can the solution to the problem be supplied in hardware? Discuss your answer giving examples and pseudo code segments.

Part 3. Synchronization

Process synchronization is another critical issue that must be addressed when concurrency is discussed in OS. Please respond to the following

A. Is synchronization the same as mutual exclusion? Please explain why or why they are not the same.

B. Identify the most famous synchronization operators and show how they work.

C. Give a simple example of a problem that requires synchronization.

Part 4. Real Concurrency

What aspect of computer systems architecture actually present real concurrency issues to the operating system? List two such aspects and explain how they present real concurrency and how they are handled by an operating system.

Question 2. Operating Systems: What They "Know & Don't Know" (40 points)

One of the most vexing problems in the design of operating systems deals with what they can and can't know about the objects they manage; namely, processes. Please respond to the following questions concerning this issue.

A. What is there about processes that an operating system simply can't know in advance?

B. What is the basic theoretical foundation for this problem?

C. Identify and explain two things an operating system can do to address this problem.


 
next up previous
Next: About this document ...
Graduate Representative Account
2000-08-03