Ph.D. Exam
Operating Systems and Architecture
January 14, 2003
Turn in answers to five questions. Answer only one question on a
sheet of paper and write only on one side of each sheet. An answer
can continue on several sheets. In this case, only write on one side
of each sheet and number the sheets. Write on each sheet the number
of the question you are answering.
You can use a computer as a word processor for this exam but you
cannot access any information on the computer or on the Internet or
run any other programs to help you answer the questions.
- One of the more interesting developments in computer systems is the
integration of memory and processing. In the literature, this has
been called PIM (processor integrated memory systems) or IRAM
(Intelligent RAM). In considering the design of computing systems,
PIMs can be used in a variety of ways. Initially, they were
proposed to support offloaded computations (e.g., SIMD style vector
operations). More recently, they have been proposed as a way to
ensure that the main processor has a constant stream of
instructions and data elements.
Give a brief description of the most important trends that have
led to the development of PIMs. Give a brief description of one
way in which PIMs could be used in the design of a computing
system.
- In the context of demand page replacement, give a brief description
of the working set model. How is the size of the working set
determined? Explain why it would be impractical to directly
implement the working set model. Describe a practical
approximation of the working set model.
- Coherence and consistency issues arise at virtually every level in
distributed systems from memory caches to file systems. Explain
what these terms mean and describe the different approaches that
have been developed to address coherence and consistency.
- Describe all of the steps in the translation from a logical address
to a physical address and finally to a value during a load
operation on a modern processor. You should assume that the
processor has a limited set of TLB entries and a two level cache.
Be certain to indicate opportunities for parallel activities and
how failures are dealt with in each step of the translation.
- Branch prediction has become increasingly important in the design
of modern processors. Give a brief description of branch
prediction, explaining why it has become more important in recent
years and how this relates to speculative execution. Describe two
different approaches to how branch prediction might be
implemented.
- 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.
- Define authentication and protection in an operating system and
explain how they relate to each other. Describe one method of
protection that can be used in an operating system. Describe one
method for users to be authenticated and one method that operating
systems can authenticate themselves to user. Give three examples
of security attacks, one which exploits a protection failure, one
of which exploits a user authentication failure and one of which
exploits a system authentication failure.
- In the context of network communication, compare and contrast the
terms "congestion control" and "flow control." Explain how TCP
deals with each of these.
Suppose that a TCP implementation advertises a larger flow control
window than it has buffer space available. Discuss the possible
advantages and problems associated with doing this.