STUDY QUESTIONS: TEST 1

mustardpruneNetworking and Communications

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

104 views

STUDY QUESTIONS: TEST 1



FALL

2011


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.


Introduction/Review



Be able to define system call, mode switch,
and
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
user
-
level thread?

(See Chapter 3 notes for some of this)



What is the difference between preemptive and non
-
preemptive schedulin
g
?



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
otential

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
approach.

(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

management?


Virtual Machine Monitors



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

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
systems?



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
list

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

(ve
rtical)

and decentralized
(horizontal)
architectures for
distributed systems
.



State the difference between

fat
-
client and thin
-
client architectures

and be able to give an advantage of
each
.



Compare client
-
server systems and peer
-
to
-
peer systems in terms of

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



Know the difference between structured and unstructured peer
-
to
-
peer systems
.



Be able to i
den
tify Distributed Hash Tables,
the Chord algorithm
, and overlay networks
;
understand
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
-
to
-
peer system.


Chapter 3:
Processes



Ho
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?


Cha
pter

4


Communication



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
s
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

types.



Identify stream communication, multicasting.