CS 4210 Advanced Operating Systems
Spring 2003, MWF 2:05-2:55PM, CCB 101
Basic Information:
- Instructor: Yannis
Smaragdakis, CCB 215, 404-385 1491
yannis@cc.gatech.edu
Office Hours: M,W 3:00-4:00
Teaching Assistant: Namgeun
Jeong
namgeun@cc.gatech.edu
Office Hours: TBD
- 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):
- Mon Jan 6: Introduction
- Wed Jan 8: Silberschatz
and Galvin Chapter 4 (review)
- Fri Jan 10: Birrell
"An Introduction to Programming with Threads"
- Mon Jan 13: Birrell, continued
- Wed Jan 15: Birrell, continued, HW1
given out
- Fri Jan 17: Birrell + Monitor style programming examples
- Wed Jan 22: Birrell + Thread design patterns (Lewis&Berg
Ch. 13, Nichols, et al. Ch. 2)
- Fri Jan 24: Implementation of Concurrency and Synchronization
(Lewis&Berg Ch. 5, 6). Project
1 given out
- Mon Jan 27: Implementation of Concurrency and Synchronization
continued
- Wed Jan 29: Quick intro to Pthreads, HW1 discussion
- Fri Jan 31: Quick intro to Pthreads, begin kernel thread discussion
- Mon Feb 3: Kernel data structures (beginning to discuss kernel
threads)
- Wed Feb 5: Kernel thread implementation (Eykholt et al. paper)
- Fri Feb 7: Exam 1
- Mon Feb 10: Exam 1 discussion
- Wed Feb 12: User-level thread library implementation (Stein
and Shah paper)
- Fri Feb 14: User-level thread library implementation, cont'd
- Mon Feb 17: First
class user level threads. Beginning of higher-level synchronization
mechanisms discussion: monitors
- Wed Feb 19: Higher-level synchronization mechanisms: serializers
and path expressions
- Fri Feb 21: Path expression examples. Performance of Spinlock
Alternatives for SMPs (Anderson's paper)
- Mon Feb 24: Performance of Spinlock Alternatives for SMPs (Anderson's
paper)
- Wed Feb 26: Spinlocks cont'd. HW2
given out
- Fri Feb 28: Project 1 and performance analysis discussion. Project 2 given out
- Mon Mar 10: Webserver Architecture ("Flash: an
Efficient and Portable Web Server", by Pai et al). See also the talk slides.
- Wed Mar 12: Webserver architecture cont'd
- Fri Mar 14: User level RPC (Bershad et al. paper) and IPC overhead
discussion
- Mon Mar 17: User level RPC and beginning of Micro-kernels (Liedtke's
"On micro-kernel construction") discussion
- Wed Mar 19: Micro-kernels
- Fri Mar 21: Micro-kernels wrap-up and review for Exam 2
- Fri Mar 28: Exam 2
- Mon Mar 31: Exam 2 discussion, beginning of fast IPC ("The Spring
Nucleus, a Micro-kernel for Objects") discussion
- Wed Apr 2: Fast IPC wrap-up, memory errors discussion and advice
for projects
- Fri Apr 4: "A Note
on Distributed Computing" by Waldo, Wyant, Wollrath, Kendall
- Mon Apr 7: Distributed Computing discussion, RPC mechanisms intro.
Project 3 given out
- Wed Apr 9: RPC mechanisms continued. Sun RPC
- Fri Apr 11: Sun RPC, Project 3 discussion
- Mon Apr 14: Distributed Shared Memory (Tanenbaum Ch. 6)
- Tue Apr 15, 6pm: Extra lecture: Buffer overrun attacks and ways to
counter them (Cowan
et al. Stackguard paper)
- Wed Apr 16: Distributed Shared Memory and intro to consistency models.
HW3 given out
- Fri Apr 18: Consistency models and HW3 discussion
- Mon Apr 21: Beginning Distributed File Systems discussion
- Wed Apr 23: Distributed File Systems, leases, case studies (Tanenbaum
Ch. 10)
- Fri Apr 25: The Sprite file system
(recommended paper: Caching
in the Sprite Distributed File System by Nelson et al.). Wrap-up for
the semester.
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: