Spring 2001 Operating Systems and Architecture Comprehensive
Exam
Operating Systems and Architecture
Comprehensive Exam
January 9, 2001
Computer Science Department
University of New Mexico
Do any five questions. Be sure that it is absolutely clear which questions
you are answering.
The test monitor will answer some parts of these questions for you if you
are unsure of what some of these terms mean. The only penalty is that you will
not get any points for the part that was answered for you. You can still answer
the other parts of the question. This can get you started on a question even
if you are not sure of the definitions.
- File Systems. (20 points) Define what it means to “mount” a file system
on a directory. Define it from the point of view of the OS user who is doing
the mounting (that is, define the effect, not the implementation). What is
the purpose of this operation? There are two kinds of mounting, mounting a
file system on a local disk and mounting a file system on a remote disk (one
available over the network). Describe how each of these types of mounting is
implemented. Do this as follows. Describe the two basic operations, open and
read. First describe how these are implemented on a normal file (not on a mounted
file system and not remote). Describe the steps in the operation, paying particular
attention to the OS data structures that are used and modified. Then describe
the same operations on a file that is locally mounted. Finally describe these
operations on a file that is remotely mounted. These do not have to be separate
descriptions; in fact, it is better to combine them to show the similarities
and differences.
- User code in the kernel. (20 points) Suppose we would like to allow users
to insert user code into the kernel. Why would you want to do this? Give some
examples of where it would be useful. What are the problems that can occur
if we try to do this? What are some possible solutions to these problems?
- OS design. (20 points) Microkernel designs were once the rage in operating
systems. Today, one rarely hears of microkernel designs. Contrast the microkernel
approach to other OS design strategies. Describe the factors that lead to the
rise of the microkernel approach. Is the current lack of interest in microkernel
designs due to widespread acceptance of this approach or were there factors
that lead to favoring other approaches? Be certain to support your responses
with examples when possible.
- System Design. (20 points) While processors continue to get faster,
interrupt latencies (the time it takes to respond to an interrupt) are not improving
at nearly the same rate. In many respects, this is similar to the situation
in memory systems where memory systems are not improving at the same rate as
the processor. Discuss the extent to which these problems are related. You
should consider the source of the problem, the degree of effort being directed
toward each problem, the extent to which a solution to one problem can be applied
to the other, and likelihood that either or both of these problems will continue
to be significant problems in the future.
- System Design. (20 points) It is often said that bandwidth is easy,
latency is hard. Examples of this truism can be found in all aspects of system
design ranging from instruction interpretation, to memory access, to job scheduling,
to communication networks. Describe as many examples of this truism as you
can, being certain to explain the circumstances under which it's easy to improve
bandwidth.
- Architecture. (20 points) Describe, in general terms, the factors that
influence the cache hit rate. Discuss the similarities and differences between
the design of a cache system and the design of a demand-paged virtual memory
system.
-
Architecture. (20 points) In recent years, we have seen the development
of computer architectures based on super-scalar designs, super-pipeline designs,
and very large instruction words. Give a brief description of each approach. Be
certain to discuss the expected benefits and drawbacks of each approach. When
appropriate cite specific examples of machines based on each approach.