CS 4210 Advanced Operating Systems
Summer 2006, MWF 9:20-10:30AM, CCB 102

 

Basic Information: Lectures (updated as the semester progresses):
DateTopic/SlidesReadingAnnouncements
Mon May 15: No class    
Wed May 17: Introduction
Processes Overview
Silberschatz and Galvin Chapter 3.1-3.4  
Fri May 19: Intro to Threads Birrell "An Introduction to Programming with Threads"  
Mon May 22: Birrell, continued    
Wed May 24: Multithreading & Thread Design Patterns Silberschatz 4.1-4.2, Lewis & Berg Ch.13, Nichols, et al. Ch. 2  
Fri May 26: Intro to Pthreads Thread creation example, Producer/Consumer example Homework 1 out
Project 1 out
Mon May 29: no class - Memorial Day
   
Wed May 31: Context Switch details
Scheduling
Silberschatz 4.4.1, 4.4.4-4.6, Lewis & Berg Ch. 5
Silberschatz Ch. 5.1-5.6
class will start at 9:30am
Fri Jun 2: Scheduling cont'd
Scheduling in CMTs

(talk slides)
Silberschatz Ch. 5.1-5.6
Chip Multithreading Systems Need a New Operating System Scheduler
 
Mon Jun 5: Fork, Thread-safe libraries
Synchronization constructs
Silberschwatz Ch.4.4.1
Silberschatz Chapter 6.1-6.8, Lewis & Berg Ch.6
Homework 1 due
Wed Jun 7: Synchronization Con't: Serializers, Path Expressions, RWLocks, and Semaphores Bloom's paper  
Fri Jun 9: Deadlocks and Priority Inversion Silberschatz Ch. 7
(Reference only: What Really Happened on Mars?)
 
Mon Jun 12: Kernel thread implementation Eykholt et al. paper on Multithreading the SunOS kernel  
Wed Jun 14: User-level thread library implementation discussion Stein and Shah "lightweight threads" paper  
Fri Jun 16 Psyche threads First-class user-level threads paper Homework 2 due
Mon Jun 19: MIDTERM   Project 1 due
Wed Jun 21: Spinlocks for SMPs Performance of Spinlock Alternatives for SMPs  
Fri Jun 23: Anderson con't.   Drop Date
Mon Jun 26: Webserver Architecture discussion Flash: an Efficient and Portable Web Server", by Pai et al. See also the talk slides.  
Wed Jun 28: Webserver Architecture continued. Apache model
Threads vs. Events
Tanenbaum and Van Steen 11.1
(Reference only: Why Threads Are a Bad Idea (for most purposes)
Why Events Are a Bad Idea (for high-concurrency servers))
 
Fri Jun 30: User-level IPC for SMPs Bershad et al. paper  
Mon Jul 3: no class    
Wed Jul 5: RPC Implementing Remote Procedure Calls  
Fri Jul 7: Sun RPC tutorial handouts given in class  
Mon Jul 10: Advances in RPC (asynchronous RPC, RMI)
Java RMI
A Note on Distributed Computing by Waldo, Wyant, Wollrath, Kendall.
A Distributed Object Model for the Java System" - Java RMI paper
Project 2 due
Homework 3 out
Project 3 out
Wed Jul 12: Distributed File Systems Tanenbaum Ch. 10 (2002 edition), Silberschatz and Galvin Ch. 17
handout
 
Fri Jul 14: Distributed File Systems cont'd, NFS    
Mon Jul 17: Distributed File Systems case studies: Sprite The Sprite file system (recommended paper: Caching in the Sprite Distributed File System by Nelson et al.)  
Wed Jul 19: Distributed Shared Memory Reference paper:Distributed Shared Memory: Concepts and Systems
Tanenbaum, Ch. 6.2
 
Fri Jul 21: Distributed Shared Memory Reference paper:Distributed Shared Memory: Concepts and Systems
Tanenbaum, Ch. 6.2 (handout in class)
Homework 3 due
Mon Jul 24: no class   Project 3 due
Wed Jul 26: Hot Topics   Project 3 due Thur. 7/27
Fri Jul 28: Wrap up and Review DSM consistency sample problems  
Tue. Aug 1: FINAL EXAM two hours, closed-notes, closed-book
starting from midterm up to DSM, plus basic threads programming; hot topics may appear as extra credit question.
11:30-1:30pm, CCB 102

Pointers to Technical Information:

Additional Information: