Computer Science 5204 Operating Systems Fall, 2011
description
Transcript of Computer Science 5204 Operating Systems Fall, 2011
Computer Science 5204Operating Systems
Fall, 2011
Dr. Dennis KafuraCourse Overview
1
Course Overview
CS 5204 – Operating Systems 2
Organization
Material intensive 35 +/- papers 25 audio/video files No required text
Balance Theory vs. technology Contemporary vs. classic Survey vs. depth Centralized vs.
distributed
Syllabus on web site
Course Overview
CS 5204 – Operating Systems 3
Course Web site http://courses.cs.vt.edu/cs5204/fall11--kafura
Course Overview
Piazza
An online question-answer/discussion system Register
Go to www.piazza.com/signup/vt/ Search for “CS 5204” Create an account using your VT email address
Dennis Kafura – CS5204 – Operating Systems 4
Help: www.piazza.com/help
Course Overview
CS 5204 – Operating Systems 5
Major Topics and Themes
Topic
Theme
Atomicity Order Consistency Theory Protocols Google/Cloud
1. Concurrency x x x x
2. Security x x
3. Storage x x x x
4. Fault tolerance x x x x x
Course Overview
CS 5204 – Operating Systems 6
1. Concurrency
What are the problems and issues in developing systems with concurrent activities?
What are emerging models for concurrent programming?
How can the problems with multi-threaded programming be alleviated?
How can transaction-style semantics be supported locally in hardware or software?
How can concurrency and communication be represented formally?
Course Overview
CS 5204 – Operating Systems 7
Process vs. Thread Models
. . .
user
kernel
. . .
user
kernel
process-centered thread-centered
Course Overview
Models of Concurrent Computation
CS 5204 – Operating Systems 8
MapReduce
Course Overview
CS 5204 – Operating Systems 9
Thread-per-process models
Sequential process
Communication channel
Communicating Sequential Processes
Sammati
Grace
Course Overview
CS 5204 – Operating Systems 10
Supporting Transaction Semanticsrepeat {
BeginTransaction(); /* initialize transaction */ <read input values> success = Validate(); /* test if inputs consistent */ if (success) { <generate updates> success = Commit(); /* attempt permanent update */ if (!success) Abort();/* terminate if unable to commit */ } EndTransaction(); /* close transaction */
} until (success);TM Object
Transaction
New Object
Old Object
LocatorTransaction
object data
object data
Course Overview
CS 5204 – Operating Systems 11
π-Calculus
An algebra that captures the notions of communication, interaction, and synchronization among concurrently executing entities.
Control
Trans Idtrans
talk1
lose1
switch1
lose2
gain2gain1 Control
IdTrans Trans
talk2
lose1
switch2
lose2
gain2gain1
Course Overview
CS 5204 – Operating Systems 12
2. Security
How can rights for access control be structured for effective use and management?
How can a digital document be “signed” so as to identify authorship?
How can communicating parties be confident of each other’s identities?
How can a group of individuals share a secret?
How can identities serve as cryptographic keys?
How can access policies be expressed and reasoned about?
Course Overview
CS 5204 – Operating Systems 13
Security Overview
Models of Protection
Cryptographic Security
Adelman, Rivest, Shimir
Course Overview
Security Overview
Dennis Kafura – CS5204 – Operating Systems 14
Automatic Trust Negotiation
Information Flow
Course Overview
CS 5204 – Operating Systems 15
Security in distributed systems
Describe explicit trust relationships Express security token issuance policies Provide security tokens that contain identities, capabilities, and/or delegation
policies Express resource authorization and delegation policies
Course Overview
CS 5204 – Operating Systems 16
3. Storage
How can scalable, large-scale storage systems be constructed?
How can large-scale storage systems deal with issues of reliability and performance?
How can peer-to-peer systems be structured to provide a usable storage system?
How can “database”-like (more structured) storage be provided for tera-bytes of data?
Course Overview
CS 5204 – Operating Systems 17
Storage
Storage system (Dynamo) in Amazon’s service-oriented architecture
Peer-to-peer file system
Course Overview
CS 5204 – Operating Systems 18
Storage
Google File System
Structured storage
Course Overview
CS 5204 – Operating Systems 19
4. Fault Tolerance
How can events be ordered in a distributed system lacking a shared clock?
How can this ordering give rise to a form of virtual time?
What are basic approaches to recovery from failure?
What is the taxonomy of strategies of “backward” recovery?
How can the state of system be captured so that it can be recovered in the event of failure?
How can distributed elements agree on commit to accepting a change in the system state?
Course Overview
CS 5204 – Operating Systems 20
Event Ordering
How can the events on P be related to the events on Q?
Which events of P “happened before” which events of Q?
When does it matter how we answer these questions?
Q
PP1
Q1
P3P2
Q3Q2
Course Overview
CS 5204 – Operating Systems 21
Recovery
erroneous state error
valid statefailure
causes
fault
leads to
recovery
An error is a manifestation of a fault that can lead to a failure.
Failure Recovery: • backward recovery
• operation based (do undo redo logs) • state based (checkpoints)
• forward recovery