CS 4210 Advanced Operating
Systems
Spring 2002, MWF 12:05-12:55PM, CCB 101
Basic Information:
-
Instructor: Yannis Smaragdakis,
CCB 215, 404-385 1491
yannis@cc.gatech.edu
Office Hours: M 2:00-3:30, F 1:00-2:30
Teaching Assistant: Ivan
Tacic
ivant@cc.gatech.edu
Office Hours: W 10:30-12
-
Suggested Textbooks:
Operating Systems
Concepts Silberschatz, Galvin, and Gagne, Sixth Edition, John Wiley
and Sons
Multithreaded
Programming with Pthreads Lewis and Berg, Prentice Hall
Pthreads Programming Nichols, Buttlar, Farrell, O'Reilly
Distributed
Systems Tanenbaum and Van Steen, Prentice Hall
-
Syllabus
-
Class
Photos
Lectures (updated as the semester progresses):
-
Fri Jan 4: Introduction
-
Mon Jan 7: Silberschatz
and Galvin Chapter 4 (review)
-
Wed Jan 9: Birrell
"An Introduction to Programming with Threads"
-
Fri Jan 11: Birrell, continued
-
Mon Jan 14: Birrell, continued, HW1
given out
-
Wed Jan 16: Birrell + Thread design patterns (Lewis&Berg Ch. 13, Nichols,
et al. Ch. 2)
-
Fri Jan 18: Implementation of Concurrency and Synchronization (Lewis&Berg
Ch. 5, 6)
-
Wed Jan 23: Implementation of Concurrency and Synchronization (cont'd).
Project
1 given out
-
Fri Jan 25: Quick Introduction to Pthreads, project discussion
-
Mon Jan 28: Quick Introduction to Pthreads, HW1 review
-
Wed Jan 30: Kernel Thread Implementation (Eykholt
et al. paper on Multithreading the SunOS kernel)
-
Fri Feb 1: Thread Library Implementation (Implementing Lightweight Threads
paper by Stein and Shah)
-
Mon Feb 4: Implementing Lightweight Threads, continued
-
Wed Feb 6: "First-Class
User-Level Threads", by Marsh et al.
-
Fri Feb 8: Exam 1
-
Mon Feb 11: Exam 1 review
-
Wed Feb 13: First-Class threads, continued
-
Fri Feb 15: High level synchronization constructs: monitors and serializers
-
Mon Feb 18: High level synchronization constructs: path expressions
-
Wed Feb 20: Performance of Spinlock Alternatives for SMPs (Anderson's paper).
HW2
given out
-
Fri Feb 22: Performance of Spinlock Alternatives, continued
-
Mon Feb 25: Queueing spinlocks
-
Wed Feb 27: Webserver Architecture ("Flash:
an Efficient and Portable Web Server", by Pai et al). See also the
talk
slides.
-
Fri Mar 1: User level RPC (Bershad et al paper). HW3
given out
-
Wed Mar 13: Micro-kernels (Liedtke's "On
micro-kernel construction"). Project
2 given out
-
Fri Mar 15: Micro-kernels and fast IPC ("The
Spring Nucleus, a Micro-kernel for Objects")
-
Mon Mar 18: Micro-kernels and fast IPC, continued
-
Wed Mar 20: HW3, P1 Review, Exam 2 discussion
-
Fri Mar 22: Exam 2
-
Mon Mar 25: Exam 2 review
-
Wed Mar 27: "A
Note on Distributed Computing" by Waldo, Wyant, Wollrath, Kendall
-
Fri Mar 29: RPC mechanisms
-
Mon Apr 1: RPC mechanisms (cont'd)
-
Wed Apr 3: Sun RPC
-
Fri Apr 5: Distributed File Systems (Tanenbaum Ch. 10, Silberschatz and
Galvin Ch. 17)
-
Mon Apr 8: Distributed File Systems (cont'd)
-
Wed Apr 10: Distributed File Systems case studies. The Sprite
file system (recommended paper: Caching
in the Sprite Distributed File System by Nelson et al.). Project
3 given out
-
Fri Apr 12: Distributed Shared Memory (Tanenbaum Ch. 6)
-
Mon Apr 15, (2 lectures): Data consistency models, HW4
given out
-
Mon Apr 22: HW4 discussion, buffer overrun introduction
-
Wed Apr 24: Buffer overrun attacks and ways to counter them, Cowan
et al. Stackguard paper
-
Fri Apr 26: Buffer overrun wrap-up, short review
Pointers to Technical Information:
-
JPEG manipulation:
-
www.ijg.org
-
Source
code library for JPEG manipulation (follow installation instructions
to compile it)
-
Client
program using the library to create low-quality JPEG images from regular
JPEGs. Untar together with the library and follow the instructions in README.lowres
-
HTTP, Web Servers, and more:
-
Pthreads Resources:
Additional Information: