Lecture Notes – CS 690

 

The lecture notes/slides are based on the textbook, research papers, and class handouts.  They are meant to summarize (not replace!)  the assigned readings.  I may modify or replace notes before the lectures.  The official version of the course is always what we cover in class.

 

Notes will usually, but not always, be available before the lecture.

 

Fundamentals:

1.      Review of OS fundamentals – Lectures 1, 2

2.      Computer Architecture Overview – Lecture 2, possibly 3

3.      Extensible Kernel Architectures –Lecture 3

4.      Virtual Machine Monitors

5.      Intro to Distributed Systems – Chapter 1

6.      Architectures – Chapter 2

7.      Processes – Chapter 3

8.      Clients, Servers, and Code Migration – Chapter 3

9.      Communication – Chapter 4

10.  Naming – Chapter 5

11.  Distributed System Principles: Consistency & Replication, Fault Tolerance

12.  Synchronization – Shared Memory Systems; semaphores, classic problems

13.  Synchronization – Logical and Physical Clocks – Chapter 6.1-6.2

14.  Synchronization – In Distributed Systems – Chapter 6.3, 6.5

15.  Election Algorithms – Chapter 6.5 – 3/4/2008

16.  Detecting Race Conditions in Multithreaded Programs –

17.  Introduction to File Systems:  Read the paper “A Fast File System for UNIX” as background

18.  Distributed File Systems Part 1:

19.  Distributed File Systems Part 2: 

20.  Memory Management Fundamentals

21.  Operating System Support for Superpages