computer science 5204 operating systems fall, 2012

23
Computer Science 5204 Operating Systems Fall, 2012 Dr. Dennis Kafura Course Overview 1

Upload: lorna

Post on 15-Feb-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Computer Science 5204 Operating Systems Fall, 2012. Dr. Dennis Kafura Course Overview. 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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computer Science 5204 Operating Systems Fall, 2012

Computer Science 5204Operating Systems

Fall, 2012

Dr. Dennis KafuraCourse Overview

1

Page 2: Computer Science 5204 Operating Systems Fall, 2012

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

Page 3: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 3

Course Web site http://courses.cs.vt.edu/cs5204/fall12--kafura

Page 4: Computer Science 5204 Operating Systems Fall, 2012

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

Page 5: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

Meeting Schedule

Tuesday, September 4 (next week) We will NOT meet This will be a “virtual class” – see web site for complete

materials (papers, lectures, problem set, …) Tuesday, September 11

We will have the scheduled VTEL meeting We can decide to meet via VTEL

Option 1: every week Option 2: every other week (alternating “real” and

“virtual” classes)

Dennis Kafura – CS5204 – Operating Systems 5

Page 6: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

Intangibles

Confidence that you can read and master material in the published OS literature

Practice in your ability to present complex technical material to a knowledgeable audience

Some appreciation for the history and evolution of ideas and technology

Dennis Kafura – CS5204 – Operating Systems 6

Page 7: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 7

Major Topics and Themes

TopicTheme

Atomicity Order Consistency Theory Protocols Google/Cloud

1. Concurrency x x x x2. Security x x3. Storage x x x x

4. Fault tolerance x x x x x

Page 8: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 8

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?

Page 9: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 9

Process vs. Thread Models

. . .user

kernel

. . .user

kernel

process-centered thread-centered

Page 10: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

Models of Concurrent Computation

CS 5204 – Operating Systems 10

MapReduce

Page 11: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 11

Thread-per-process models

Sequential process

Communication channel

Communicating Sequential Processes

Sammati

Grace

Page 12: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 12

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

Page 13: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 13

π-CalculusAn 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

Page 14: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 14

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?

Page 15: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 15

Security Overview

Models of Protection

Cryptographic Security

Adelman, Rivest, Shamir

Page 16: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

Security Overview

Dennis Kafura – CS5204 – Operating Systems 16

Information Flow

Modeling classes of information Determining flows among the classes of information Enforcing constraints on the flow of information among system components

Page 17: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 17

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

Page 18: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 18

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?

Page 19: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 19

Storage

Storage system (Dynamo) in Amazon’s service-oriented architecture

Peer-to-peer file system

Page 20: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 20

Storage

Google File System

Structured storage

Page 21: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 21

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?

Page 22: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 22

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

Page 23: Computer Science 5204 Operating Systems Fall, 2012

Course Overview

CS 5204 – Operating Systems 23

Recovery

erroneous state error

valid statefailure

causesfault

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