CS 4210 Advanced Operating Systems
CS 8803 Graduate Introduction to Operating Systems
Fall 2008, TTh 12:05-1:25PM, CCB 102

Basic Info | Assignments | Lectures | Technical Info | Additional Info

Announcements: Basic Information: Assignments: Lectures (updated as the semester progresses):
Tue Aug 19: Introduction
OS and Processes Overview
Silberschatz and Galvin Chapter 3.1-3.4  
Thur Aug 21: Intro to Threads
Multithreading and Treads Design Patterns
Birrell "An Introduction to Programming with Threads"
Silberschatz 4.1-4.2
Tue Aug. 26: Threads cont'd
Intro to Pthreads
Silberschatz 4.4.1, 4.4.4-4.6, Lewis & Berg Ch. 5
Lewis & Berg Ch.13, Nichols, et al. Ch. 2
Thread creation example, Producer/Consumer example
Thur Aug. 28: Scheduling Silberschatz Ch. 5 Project 1 out
Tue Sep 2: Scheduling cont'd Chip Multithreading Systems Need a New Operating System Scheduler (talk slides)
reference: new Linux scheduler
Homework 1 out
Thur Sep 4: Scheduling cont'd    
Tue Sep 9: Advanced Synchronization Constructs: Serializers, Path Expressions, RWLocks, and Semaphores Silberschatz Chapter 6.1-6.8, Lewis & Berg Ch.6
Bloom's paper
Thur Sep 11: Synchronization Con't  
Tue Sep 16: Deadlocks and Priority Inversion Silberschatz Ch. 7
What Really Happened on Mars (reference only)
Thur Sep 18: Kernel vs User-level threads Eykholt et al. paper on Multithreading the SunOS kernel
Stein and Shah "lightweight threads" paper
Tue Sep 23: Threads libraries implementation discussion cont'd First-class user-level threads paper
reference: NPTL
Thur Sep 25: OS Structures, Microkernels Silberschatz 2.7
Project 1 due
Tue Sep 30: Virtualization Introduction James E. Smith, Ravi Nair, "The Architecture of Virtual Machines", IEEE Computer (May 2005).
Rosenblum and Garfinkel, "Virtual Machine Monitors: Current Technology and Future Trends," IEEE Computer, May 2005. (IEEE Xplore)

userful slides
Thur Oct 2: Shared Memory Overview Handouts  
Tue Oct 7 Virtual Memory Primitives VM Primitives for User Programs Homework 2 due
Thur Oct 9: MIDTERM   drop date Oct. 10
Tue Oct 14 fall recess    
Thur Oct 16: Midterm Discussion    
Tue Oct 21: Spinlocks for SMPs Performance of Spinlock Alternatives for SMPs  
Thur Oct 23: Spinlocks cont'd    
Tue Oct 28: Webserver
Apache model
Flash: an Efficient and Portable Web Server, by Pai et al. See also the talk slides
Tanenbaum and Van Steen 11.1
reference:Why Threads Are a Bad Idea (for most purposes)
reference:Why Events Are a Bad Idea (for high-concurrency servers)
Thur Oct 30: User-level IPC for SMPs Bershad et al. paper Project 2 due
Tue Nov 4: External Lectures: Amazon Cloud Services, Jinesh Varia, Amazon Technology Evangelist in MiRC 102A  
Thur Nov 6: RPC Implementing Remote Procedure Calls
Sun RPC handouts given in class
Tue Nov 11: Advances in RPC (asynchronous RPC, RMI)
Java RMI
Note on Distributed Computing
A Note on Distributed Computing by Waldo, Wyant, Wollrath, Kendall.
A Distributed Object Model for the Java System
Thur Nov 13: Dist Computing Cont'd
Distributed File Systems
Tanenbaum Ch. 10 (2002 edition), Silberschatz and Galvin Ch. 17  
Tue Nov 18: No Class. Review File System Implementation (Silberschatz Ch. 11)    
Thur Nov 20: DFS cont'd
Distributed File Systems case studies: Sprite
The Sprite file system (recommended paper: Caching in the Sprite Distributed File System by Nelson et al.)  
Tue Nov 25: Distributed Shared Memory
DSM and memory consistency models
Reference paper:Distributed Shared Memory: Concepts and Systems
Tanenbaum, Ch. 6.2
Thur Nov 27: Thanksgiving    
Tue Dec 2: DSM Cont'd    
Thur Dec 4: DSM, Wrap-up Reference: Lessons from Giant-Scale Services  
Fri Dec 12: FINAL EXAM 8:00-10:00am, Room - CCB 102  

Pointers to Technical Information:

Additional Information: