mustardpruneNetworking and Communications

Oct 23, 2013 (3 years and 7 months ago)





The test covers the review notes from lecture 1; kernel architectures, including the papers on microkernels,
extensible architectures, and virtual machines; and selected sections from Chapters 1, 2, 3, and 4 in the text
You will not be responsible for material that was not covered in class, even if it is in the Power Points.
Review your homework

The questions highlight important concepts for you to understand. The questions on the test probably
won’t look exact
ly like the ones on the study guide.


Be able to define system call, mode switch,
context switch. Know the purpose of each.

Be able to define process. Be able to reproduce the process state transition diagram and describe the
characteristics of each state and the kinds of events that cause state transitions.

Understand the concept of concurrent execution, on a single processor system and on a multiprocessor.

What is the difference between a thread and a process? In what ways ar
e multi
threaded processes
“better” than single
threaded processes? What is the difference between a kernel
level thread and a
level thread?

(See Chapter 3 notes for some of this)

What is the difference between preemptive and non
preemptive schedulin

What is mutual exclusion and why is it needed?

Be able to define deadlock and starvation, and know the difference between them.

Virtual memory systems were developed to address what problems?

Kernel Architectures

Give a simple description of microkerne
l architectures.

What are the p

advantages of microkernels?

Liedtke suggests evaluating microkernels according to two criteria: the conservation criterion and the
progressivecriterion. Be able to explain each one.

Why were some microkernel archite
ctures unsuccessful in realizing the potential advantages?

Be able to describe the motivation for extensible architectures such as SPIN and the Exokernel

(What problem do they address?)

What problems are introduced by the use of high
level abstra
ctions in operating systems design?

What is the difference between a SPIN extension and an exokernel library operating system? What do
they have in common?

What does it mean to say that
an exokernel architecture

separates resource allocation from resource


Virtual Machine Monitors

Be able to define virtual machine and virtual machine monitor. Know the difference between full
virtualization and para

How does paravirutalization affect the guest operating systems?
The applications

that run on the guest operating systems?

What are the
benefits of

virtual machine technology?

In particular, what advantages do they offer for
distributed systems?

Most virtual machine monitors run directly on the bare hardware but some (notably VMware) r
un on
top of an installed operating system. What are the pros and cons of this approach?

Chapter 1 & 2:
Distributed Systems

Introduction and Architectures

What is middleware? How does it contribute to transparency (single system image) in distributed

Be able to list/briefly describe/identify four distributed system goals.

Be able to
define transparency and define or
identify various types
, particularly location transparency
(sometimes known as location independence)

What are the different dime
nsions of scalability (size, geographical extent, administrative domains)
and how can they be addressed?

Compare caching and replication in distributed systems. Be able to describe advantages and
disadvantages of each technique.

Be able to define cluster
computer and grid computer

systems and

some of their characteristics

What is a transaction? List, briefly define its four distinguishing characteristics.

Understand the principles of a layered architecture.

Be able to discuss/describe centralized


and decentralized
architectures for
distributed systems

State the difference between

client and thin
client architectures

and be able to give an advantage of

Compare client
server systems and peer
peer systems in terms of

performance (time to locate and
retrieve information), scalability, and fault tolerance.

Know the difference between structured and unstructured peer
peer systems

Be able to i
tify Distributed Hash Tables,
the Chord algorithm
, and overlay networks
their purpose.

How does Chord decide which node will store a given item (i.e., understand the
successor relation)

Be able to state/describe the purpose of the Condor System (to support high throughput computing)
and say a little about how it do
es so.

State goals of Freenet (no need to memorize all five, just be able to say in general what it tries to do)
and give a high
level description of the routing algorithms. Discuss Freenet as an example of a peer
peer system.

Chapter 3:

w does a single multithreaded application improve performance over an equivalent application that
consists of multiple separate processes? (Assume kernel level threads)

What are the benefits of a multithreaded server, compared to either a single
threaded s
erver or a finite
state machine server?

Explain the general organization of a server cluster.

Be able to
give some examples of when code migration would be useful.

What are the three components of a process that must be considered in a code
migration model

What is the difference between weak mobility and strong mobility? What limitations are imposed on
code migration if only weak mobility is supported?

How might virtual machines be used in distributed systems?




Definitions: routi
ng, packet switching, reliable communication

vs. unreliable communication

Identify OSI reference model; know the functions of the transport and network layers.

Understand the Remote Procedure Call model and why it is often used to implement client/server
ystems instead of basic message passing.

Hint: Consider some of the problems that RPC solves.

Understand the processing flow, the role played by stub procedures, and related issues.

Be able to
describe the steps in an RPC Send or Reply.

In general, what i
s the difference between synchronous and asynchronous communication?

What is the difference between persistent and transient communication?

Identify/briefly describe sockets and MPI; explain how they are different from RPC in terms of
transparency, message


Identify stream communication, multicasting.