CS 4210 Advanced Operating
Systems
Spring 2005, TuTh 9:35-10:55AM, 380
Bunger-Henry
Please note the information in this web site will be updated
as the semester progresses.
Email: fujimoto at cc.gatech.edu
Office Hours: TuTh 12:00-1:30 PM, or by appointment
- Teaching Assistant: Unfortunately, no TA has been assigned to this
class ;-(
- Suggested Textbooks:
Lectures will be based on materials from the suggested textbooks, listed
below, as well as papers (see links in lecture schedule).
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
Lecture Schedule
- Tu
Jan 11: Introduction, Silberschatz and Galvin Chapter 4 (review); Fork example code
- Th
Jan 13: Birrell "An Introduction to
Programming with Threads"; Create
thread example code
- Tu Jan 18: Birrell, continued; Producer/Consumer code
- Th Jan 20: Monitor style programming example, Thread design patterns
(Lewis&Berg Ch. 13, Nichols, et al. Ch. 2) , HW1 out
- Tu Jan 25: Implementation of Concurrency and
Synchronization (Lewis&Berg Ch. 5, 6)
- Th Jan 27: Implementation of Concurrency and
Synchronization (continued) HW1 due
- Tu
Feb 1: Kernel thread implementation (Eykholt et al. paper on
Multithreading the SunOS kernel), Project 1
out
- Th
Feb 3: User-level thread library
implementation discussion (Stein
and Shah "lightweight threads" paper)
- Tu
Feb 8: first-class
user-level threads paper (guest lecture)
- Th
Feb 10: EXAM 1
- Tu
Feb 15: Exam 1 discussion, signals
- Th
Feb 17: Yousef Khalidi lecture, 10-11 AM, Auditorium, TSRB (Technology Square, 5th
Avenue)
- Tu
Feb 22: High-level synchronization
mechanisms: monitors and serializers (Bloom's SOSP paper);Project 1 due
- Th
Feb 24: Finish High Level Synch (path expressions), Spinlock for SMPs (Anderson's paper)
- Tu
Mar 1: Webserver Architecture ("Flash: an Efficient and Portable Web Server", by Pai et al). See also the talk slides
- Th
Mar 3: Webserver Architecture: Apache model (Tanenbaum and Van Steen Ch. 11.1,) HW 2 out
- Tu
Mar 8: RPC (Birrell and Nelson paper), Tanenbaum and van Steen Ch 2.2, 7.3)
- Th
Mar 10:User-level IPC for SMPs (Bershad et al. paper) HW3 and Project 2 out
- Tu
Mar 15: system V shared memory
- Th
Mar 17: EXAM 2
- Tu
Mar 22: Spring Break
- Th
Mar 24: Spring Break
- Tu
Mar 29: Micro-kernels (Liedtke's "On micro-kernel construction") and processor caches
- Th
Mar 31: Fast IPC/doors ("The Spring Nucleus, a Micro-kernel for Objects"); reference: Spring Overview, Sun RPC
- Tu
Apr 5: Distributed computing
, "A Note on Distributed Computing" by Waldo, et al.
- Th
Apr 7:Sun RPC(cont.), Project 2 due, Project 3 out
- Tu
Apr 12:Distributed File Systems,NFS (Tanenbaum/Van Steen Ch. 10)
- Th
Apr 14: The Sprite file system
(recommended paper: Caching in the
Sprite Distributed File System by Nelson et al.)
- Tu
Apr 19:Memory consistency models (Tanenbaum/Van Steen Ch. 6)
- Th
Apr 21: Memory consistency
models (cont.). HW4 out
- Tu
Apr 26: Buffer overrun attacks and
ways to counter them, Cowan et
al. Stackguard paper
- Th
Apr 28: Time permitting, Extensible OS: Exokernels (Engler et al), SPIN (Bershad et. al), Synthetix (Pu et. al), Java RMI (Wollrath et. al )
- Wed
May 4: FINAL EXAM 8-10:50 AM, 380 Bunger-Henry
Pointers to Technical Information:
- Pthreads
Resources:
- HTTP,
Web Servers, and more:
- 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
Additional Information:
- Previous
offerings of the quarter version of this course:
- See
the course
proposal for what this class is supposed to look like.