Summary and Review

Download Report

Transcript Summary and Review

Summary and Review
Course Objectives
• The main objectives of the course are to
– introduce different concepts in operating system
theory and implementation;
– identify software design issues for advanced
computer systems, such as multiprocessors or
distributed systems;
– provide exposure to classic & current topics in
operating system research through reading and
discussing conference and journal papers;
– review and expand on complex concepts from the
introductory operating systems course, such as
synchronization, virtual memory, and file systems.
Introduce different concepts in OS
theory and implementation
• Microkernel operating systems
• Extensible operating systems
• Virtual machine operating systems
Identify software design issues for
advanced computer systems
• Distributed systems architectures
• Distributed system principles/design issues
– Naming
– Replication and consistency
– Fault tolerance
• Distributed systems goals
Provide exposure to classic &
current topics in OS research in
reading and analysis of papers
•
•
•
•
•
Extensible operating systems
Virtual machine papers
Racetrack & Eraser
Superpages
MapReduce & Dynamo
Review/expand on concepts from
the introductory OS course
• Synchronization
– Shared memory systems
– Distributed systems
– File replication
• Virtual Memory
– Superpages
• File Systems
– Organization/performance
– Distributed file systems
– Caching and replication
Unification
• When you review course material try to think
about connections:
– Distributed system architectures as applied to
systems we studied; e.g., compare Google cluster
architecture to traditional client-server; P2P
– Discussion of logical time/Lamport time stamps/vector
clocks and applications of those techniques
– Middleware definition and examples of services that
could be implemented as middleware.
– Examples: “what is fault tolerance, how is it managed
in <some system we have studied>”, “define
transparency and discuss techniques that might be
used to achieve it”, …
Coverage
• Comprehensive
• Relatively more emphasis on untested material
– Distributed file systems
– MapReduce & Dynamo (although we only spent a
short time on these two systems)
– Memory management/superpages
• Material from previous tests
– Less detail, but remember that much of it shows up
again and again, so you can’t ignore it (e.g.
architectures, scalability, …)
• Mutual exclusion and other forms of
synchronization are still important
New Material
• Distributed file systems
– Basic concepts
– Use of caching
– Cache consistency issues
– Different file semantics
– Replication/replica updates/replica
consistency
New Material
• Dynamo
– Basic idea
– P2P aspects
– Fault tolerance
• MapReduce
– Basic idea
– Responsibilities of processors
– Fault tolerance issues
New Material
• Superpages
– the problem
– Large superpage size versus small
– Use multiple page sizes or just one
– Reservation versus relocation
– Affect of these issues on fragmentation/contiguity
Things to Study
• Definitions
• Algorithms (e.g., mutual exclusion, how to
place an item in a P2P system, …)
• Numbered lists: “4 reasons for…”, “3
advantages of…”, “main design goals…”
– Discuss and evaluate
• Anything that can be compared/contrasted;
e.g. RaceTrack v Eraser methodology
Test-Taking Tips - 1
• Base length of answer on (1) my
suggestion – “brief”, “25 words or less”,
etc. (2) number of points it’s worth, (3)
amount of space on test paper.
• Don’t answer anything I didn’t ask about,
but DO answer the question posed; e.g.,
for the question “Structurally, how do
microkernel operating systems differ from
traditional
Test-Taking Tips - 2
• Don’t answer anything I didn’t ask about,
but DO answer the question posed; e.g.,
for the question “How does a microkernel
architecture differ from the architecture of
a traditional operating system?”
– DON’T talk about advantages/disadvantages;
don’t talk about the motivation behind each
kind of system.
– DO describe the architectures, show where
they are different.
Test-Taking Tips 3
• Budget your time
– If you don’t know the answer, come back to it
later
– Don’t waste a lot of time on a 2-point
questions
– If you want to add extra details, don’t do so
until you’re sure you’ve covered the basics.
Test-Taking tips – 4
• Be sure you read the instructions for each
question before you begin the answer.
• If a question has several parts (a, b, c)
don’t answer part (a) until you have read
parts (b) and (c) – otherwise, you may
write things in the first part that you’ll have
to repeat later.
• If a question says “Answer three out of
four”, don’t waste time answering all four.