COP5611: Advanced Operating Systems.


Syllabus

Lecture 1: Introduction

Lecture 2: Introduction

Lecture 3: Basic socket programming (TCP) example1.c, example2.c, example3.c, example4.c(A simple echo client), example5.c(A simple echo server).

Lecture 4: UDP and server design options udpsender.c, udprecv.c, multiserv.c

Project No. 1: Orientation to Programming Requirements

Lecture 5: Theoretical Foundations (logical clock, causal order)

Lecture 6: Theoretical Foundations (causal ordering and global state)

Homework No. 1: Due Tuesday Jan. 29. Prove the correctness of the Birman-Schiper-Stephenson protocol.

Quiz No. 1

Lecture 7: Mutual Exclusion

Lecture 8: Mutual Exclusion

Project No. 2: Causal Ordering of Messages

Lecture 9: Deadlock

Model answers for Homework 1, and Quiz 1.

Lecture 10: Distributed Deadlock Detection

Proof or disproof wanted (Reward: 1 point in the final grade): Chandy-Misra-Haas's distributed deadlock detection algorithm at most exchanges m(n-1)/2 messages to detect a deadlock that involves m processes and n sites.

Lecture 11: Agreement Protocol

Lecture 12: Agreement Protocol

Midterm review

This section will be a question/answer section.

Lecture 13: Recovery

Lecture 14: Recovery

The class on March 19 is cancelled (I am sick).

Project No. 3: A distributed application and a simplified application specific checkpoint/recovery scheme, Sequential implementation of the Jacobi Method Sequential implementation with checkpoint

The class on March 21 is cancelled.

Lecture 15: Fault Tolerance - 2 phase commit

Lecture 16: Fault Tolerance - 3 phase commit

Lecture 17: Fault Tolerance - Voting

Lecture 18: Security and Protection

Lecture 19: Distributed Shared Memory

Lecture 20: Distributed File System

Lecture 21: Final Review