Schedule of Lectures:

3/31-4/7
Introduction and review of basic concepts: processes, threads, and synchronization (Chapter 4 of SG, selected chapters from Lewis and Berg, Birrell Threads Paper, Cthreads document), variable weight and first class user-level threads (Psyche paper to be distributed), thread implementations. (Handouts: Chapter 12.1 of Tanenbaum's text book, Psyche paper)
Slide Handout 1: ps pdf
Slide Handout 2: ps pdf
4/9-4/16
Advanced synchronization primitives: monitors and serializers. (Handout: Relevant parts of Bloom's thesis, chapter on language for concurency)
Slide Handout 1: ps pdf
4/21-4/23
Parallel machines, their programming. Synchronization and communication in parallel systems. (Handouts: Anderson paper entitled "Performance of Spinlock Alternatives for Shared Memory Multiprocessors", and Bershad et al. paper entitled "User level Inter-process Communication").
Slide Handout 1: ps pdf
        Slide Handout 2: ps pdf
4/30 Midterm
5/5-5/12
Distributed systems (Chapters 15, 16, SG, message passing, Remote procedure calls (Handout: Birell/Nelson paper).
5/14-5/21
Distributed file systems (Chapter 17, SG). Sprite paper. Distributed Shared Memory. (Handouts: Sprite paper, DSM chapter)
5/26-5/28
Introduction to real-time systems.
6/1
Early Final exam
6/2-6/4
Protection and security.
6/9
Final exam