Lecture Schedule:

9/24-10/6
Introduction and review of basic concepts: processes, threads, and synchronization (Chapter 4, SG, Birrell Threads Paper, Cthreads document), variable weight and first class user-level threads, thread implementations.

10/8-10/13
Advanced synchronization primitives: monitors and serializers.

10/15-10/22
Parallel machines, their programming. Synchronization and communication in parallel systems (parallel machines overview, Anderson paper, URPC paper).

10/27
Homework 1, other problems and review.

10/29
Midterm.

11/3-11/10
Distributed systems (Chapters 15, 16, SG, message passing, Remote procedure calls (Birell/Nelson paper).

11/12-11/19
Distributed file systems (Chapter 17, SG). Sprite paper. Distributed Shared Memory.

11/24-11/26
Introduction to real-time systems.

12/1
Protection and security.
12/3
Review, homework 2 and other problems.