Advanced Operating Systems Lecture notes Dr Clifford Neuman

  • Slides: 30
Download presentation
Advanced Operating Systems Lecture notes Dr. Clifford Neuman University of Southern California Information Sciences

Advanced Operating Systems Lecture notes Dr. Clifford Neuman University of Southern California Information Sciences Institute Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Administration v. Instructors q Dr. Clifford Neuman § Office hours –Friday 12: 50 PM

Administration v. Instructors q Dr. Clifford Neuman § Office hours –Friday 12: 50 PM – 1: 50 PM v. TA q Ho Chung § Monday 10 a. m. to noon Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Administration v. Class Home Page http: //gost. isi. edu/555/ q Announcements q Syllabus q

Administration v. Class Home Page http: //gost. isi. edu/555/ q Announcements q Syllabus q Lecture Slides q Reading list v Class e-mail: csci 555@usc. edu Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Administrative Information v. Reading list q ~65 papers and q ~20 book chapters q

Administrative Information v. Reading list q ~65 papers and q ~20 book chapters q Concentrated toward the first half v. Text q Distributed Systems: Concepts and Design (fourth edition) § By Coulouris, Dollimore, and Kindberg Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Administrative Information v. Assignments q 4 Reports, § Due 11 p. m. Thursday nights

Administrative Information v. Assignments q 4 Reports, § Due 11 p. m. Thursday nights q Research Paper § Due: last class q Exams § Mid-Term: Friday, October 20 § Final Exam: Friday, December 8 Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Administrative Information v. DEN site - Blackboard q Lecture webcast q Class forum on

Administrative Information v. DEN site - Blackboard q Lecture webcast q Class forum on DEN (alternate) q Grades v. Lecture notes to be posted before lecture v. Academic Integrity q READ IT – It applies to you Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Administration v. Class forum at ISI q Announcements q Questions q Answers q Registration

Administration v. Class forum at ISI q Announcements q Questions q Answers q Registration q Participation http: //den. usc. edu Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Administration v. Grading q 20%: Reading Reports q 20%: Midterm q 20%: Final q

Administration v. Grading q 20%: Reading Reports q 20%: Midterm q 20%: Final q 30%: Research Paper q 10%: Class Participation § Class forum § Quiz Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

How to survive? v. Read the survival guide v. How to read papers q

How to survive? v. Read the survival guide v. How to read papers q Read the papers in advance § Be critical q At least skim through v. Build your own notes v. Study group Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

CSci 555: Advanced Operating Systems Lecture 1 – August 25, 2006 Dr. Clifford Neuman

CSci 555: Advanced Operating Systems Lecture 1 – August 25, 2006 Dr. Clifford Neuman University of Southern California Information Sciences Institute Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

What you should learn in this course v. You will gain a basic understanding

What you should learn in this course v. You will gain a basic understanding of distributed system concepts. v. You will develop intuition for which approaches work, and which don’t. v. You will develop the ability to sense where bottlenecks lie in system design. v. You will remember where to look for more information when you are faced with a distributed system problem. v. Above all, you will learn how to be critical of what you are told by system designers. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Some things an operating system does (review) v. Memory Management v. Scheduling / Resource

Some things an operating system does (review) v. Memory Management v. Scheduling / Resource management v. Communication v. Protection and Security v. File Management - I/O v. Naming v. Synchronization v. User Interface Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Progression of Operating Systems Primary goal of a distributed system: q Sharing Progression over

Progression of Operating Systems Primary goal of a distributed system: q Sharing Progression over past years q Dedicated machines q Batch Processing q Time Sharing q Workstations and PC’s q Distributed Systems Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Structure of Distributed Systems v. Kernel q Basic functionality and protection v. Application Level

Structure of Distributed Systems v. Kernel q Basic functionality and protection v. Application Level q Does the real work v. Servers q Service and support functions needed by applications q Many functions that used to be in Kernel are now in servers. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Structure of Distributed Systems UP User Space SVR Kernel Copyright © 1995 -2005 Clifford

Structure of Distributed Systems UP User Space SVR Kernel Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Network vs. OS Layering (No direct mapping, colors to stimulate discussion) Application Layer Applications

Network vs. OS Layering (No direct mapping, colors to stimulate discussion) Application Layer Applications LIBRARIES Presentation Layer Session Layer Transport Layer Network Layer Link Layer Physical User Space SERVICES Servers OS SERVICES Kernel Hardware Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Characteristics of a Distributed System v. Basic characteristics: q Multiple Computers q Interconnections q

Characteristics of a Distributed System v. Basic characteristics: q Multiple Computers q Interconnections q Shared State Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Why Distributed Systems are Hard v. Scale: q Numeric q Geographic q Administrative v.

Why Distributed Systems are Hard v. Scale: q Numeric q Geographic q Administrative v. Loss of control over parts of the system v. Unreliability of Messages v. Parts of the system down or inaccessible q Lamport: You know you have a distributed system when the crash of a computer you have never heard of stops you from getting any work done. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

End-to-End Argument v. QUESTION: Where to place distributed systems functions? v. Layered system design:

End-to-End Argument v. QUESTION: Where to place distributed systems functions? v. Layered system design: q Different levels of abstraction for simplicity. q Lower layer provides service to upper layer. q Very well defined interfaces. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

E 2 E Argument (continued) v. E 2 E paper argues that functions should

E 2 E Argument (continued) v. E 2 E paper argues that functions should be moved closer to the application that uses them. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

E 2 E Argument (continued) v Rationale: q Some functions can only be completely

E 2 E Argument (continued) v Rationale: q Some functions can only be completely and correctly implemented with application’s knowledge. § Example: – Reliable message delivery, security – Encrypted e-mail – Streaming media vs. Banking q Applications that do not need certain functions should not have to pay for them. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

E 2 E Counter-Argument v Performance q Example: File transfer § Reliability checks at

E 2 E Counter-Argument v Performance q Example: File transfer § Reliability checks at lower layers detect problems earlier. § Abort transfer and re-try without having to wait till whole file is transmitted. v Abstraction q Less repetition across apps Bottom line: “spread” functionality across layers. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Slides for Lecture 2 v. The following slides are for lecture 2. v. They

Slides for Lecture 2 v. The following slides are for lecture 2. v. They are included here in case we progress faster than expected in class. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Outline: Communications Models v Communication Models: q General concepts. q Message passing. q Distributed

Outline: Communications Models v Communication Models: q General concepts. q Message passing. q Distributed shared memory (DSM). q Remote procedure call (RPC) [Birrel et al. ] § Light-weight RPC [Bershad et al. ] q DSM case studies § IVY [Li et al. ] § Linda [Carriero et al. ] Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Communication Models v. Support for processes to communicate among themselves. v. Traditional (centralized) OS’s:

Communication Models v. Support for processes to communicate among themselves. v. Traditional (centralized) OS’s: q Provide local (within single machine) communication support. q Distributed OS’s: must provide support for communication across machine boundaries. § Over LAN or WAN. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Communication Paradigms v 2 paradigms q Message Passing (MP) q Distributed Shared Memory (DSM)

Communication Paradigms v 2 paradigms q Message Passing (MP) q Distributed Shared Memory (DSM) v Message Passing q Processes communicate by sending messages. v Distributed Shared Memory q Communication through a “virtual shared memory”. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Message Passing v Basic communication primitives: q Send message. Send q Receive message. Receive

Message Passing v Basic communication primitives: q Send message. Send q Receive message. Receive Sending Q. . . Receiving Q. . . v Modes of communication: q Synchronous versus asynchronous. v Semantics: q Reliable versus unreliable. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Synchronous Communication v. Blocking send q Blocks until message is transmitted q Blocks until

Synchronous Communication v. Blocking send q Blocks until message is transmitted q Blocks until message acknowledged v. Blocking receive q Waits for message to be received v. Process synchronization. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Asynchronous Communication v Non-blocking send: sending process continues as soon message is queued. v

Asynchronous Communication v Non-blocking send: sending process continues as soon message is queued. v Blocking or non-blocking receive: q Blocking: § Timeout. § Threads. q Non-blocking: proceeds while waiting for message. § Message is queued upon arrival. § Process needs to poll or be interrupted. Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE

Reliability of Communication v Reliable communication: q Different degrees of reliability. q Processes have

Reliability of Communication v Reliable communication: q Different degrees of reliability. q Processes have some guarantee that messages will be delivered. q Example: Transmission Control Protocol (TCP) q Reliability mechanisms: § Positive acknowledgments (ACKs). § Negative Acknowledgments (NACKs). q Possible to build reliability atop unreliable service (E 2 E argument). Copyright © 1995 -2005 Clifford Neuman and Dongho Kim - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE