Date | Topic/Slides | Reading | Announcements |
Week 1: 8/17-21 |
Introduction
OS and Processes Overview
Intro to Threads |
Silberschatz and Galvin Chapter 3.1-3.4
Birrell "An Introduction to Programming with Threads"
Silberschatz 4.1-4.2 |
|
Week 2: 8/24-28 |
Multithreading and Treads Design Patterns
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 |
Project 1 out |
Week 3: 8/31-9/4 |
Thread library implementation issues:
Kernel vs User-level threads
First Class Threads
|
Eykholt et al. paper on Multithreading the SunOS kernel
Stein and Shah "lightweight threads" paper
First-class
user-level threads paper
reference: NPTL
|
|
Week 4: 9/7-11 |
Scheduling |
Silberschatz Ch. 5
Chip Multithreading Systems Need a New Operating System Scheduler (talk slides)
reference: new Linux scheduler |
Mon 9/7 - Labor Day |
Week 5: 9/14-18 |
Scheduling cont'd
Deadlocks, Livelocks, and Priority Inversion |
Silberschatz Ch. 7
What Really Happened on Mars (reference only) |
|
Week 6: 9/21-25 |
Synchronization
Advanced Synchronization Constructs: Serializers, Path Expressions, RWLocks, and Semaphores
Spinlocks for SMPs |
Silberschatz Chapter 6.1-6.8, Lewis & Berg Ch.6
Bloom's paper
Performance of Spinlock Alternatives for SMPs |
|
Week 7: 9/28-10/2 |
Spinlocks cont'd
|
|
|
Week 8: 10/5-9 |
OS Structures, Microkernels, Virtualization
|
Silberschatz 2.7
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 |
Mon 10/5 - Fall Recess |
Week 9: 10/12-16 |
Mon 10/12: MIDTERM EXAM
Shared Memory |
handouts
|
Drop date: 10/16 |
Week 10: 10/19-23 |
Webserver
Apache model
CERCS Industry Workshop keynote talks |
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)
Why Events Are a Bad Idea (for high-concurrency servers)
|
|
Week 11: 10/26-30 |
User-level IPC for SMPs
RPC |
Bershad et al. paper
Implementing Remote Procedure Calls
Sun RPC handouts |
|
Week 12: 11/2-6 |
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 |
|
Week 13: 11/9-11 |
Distributed File Systems
DFS case study: Sprite |
Tanenbaum Ch. 10 (2002 edition), Silberschatz and Galvin Ch. 17
LFS
The Sprite file system (recommended paper: Caching in the Sprite Distributed File System by Nelson et al.)
|
|
Week 14: 11/16-20 |
Distributed Shared Memory
DSM and memory consistency models |
Distributed Shared Memory: Concepts and Systems
Tanenbaum, Ch. 6.2 |
|
Week 15: 11/23-27 |
Large-scale Cluster Services |
Lessons from Giant-Scale Services |
|
Week 16: 11/30-12/4 |
Hot Topics in Systems
Review |
|
|
Week 17: finals week |
Thur. 12/10 FINAL EXAM |
|
8:00-10:00am
Rm. CCB 101 (same as classroom) |