CS 4210 Advanced Operating
Systems
Spring 2000, MWF 12:05-12:55PM, Instr. Center 215
Basic Information:
-
Instructor: Yannis Smaragdakis,
CCB 215, 404-385 1491
yannis@cc.gatech.edu
Office Hours: MF 1:30-3:00
-
Teaching Assistant: Todd Miller, tomiller@cc.gatech.edu
-
Suggested Textbooks:
Operating Systems
Concepts Silberschatz and Galvin, Fifth Edition, Addison Wesley
Multithreaded
Programming with Pthreads Lewis and Berg, Prentice Hall
Pthreads Programming Nichols, Buttlar, Farrell, O'Reilly
Distributed
Operating Systems Tanenbaum, Prentice Hall
-
Complete
Syllabus (in postscript)
-
Class
Photos
Lectures (updated as the semester progresses):
-
Mon Jan 10: Silberschatz
and Galvin Chapter 4 (review)
-
Wed Jan 12: Birrell
"An Introduction to Programming with Threads"
-
Fri Jan 14: Birrell
"An Introduction to Programming with Threads", continued
-
Wed Jan 19: Thread Program Structure Patterns (Lewis&Berg Ch. 13, Nichols,
et al. Ch. 2)
-
Fri Jan 21: Implementation of Concurrency and Synchronization (Lewis&Berg
Ch. 5, 6)
-
Mon Jan 24: A Short Introduction to Pthreads, Project
1 given out
-
Wed Jan 26: A Short Introduction to Pthreads (cont'd)
-
Mon Jan 31: Synchronization and HW1 Review
-
Wed Feb 2: "Beyond
Multiprocessing -- Multithreading the SunOS Kernel", by Eykholt et al
-
Fri Feb 4: "Implementing Lightweight Threads", by Stein and Shah
-
Mon Feb 7: "First-Class
User-Level Threads", by Marsh et al
-
Wed Feb 9: Advanced Synchronization Constructs: Monitors
-
Fri Feb 11: Exam
1
-
Mon Feb 14: Exam 1 Discussion
-
Wed Feb 16: Advanced Synchronization Constructs: Serializers, Path expressions
-
Fri Feb 18: Introduction to SMP Architecture
-
Mon Feb 21: Performance of Spinlock Alternatives for SMPs (Anderson's paper)
-
Wed Feb 23: Webserver Architecture ("Flash:
an Efficient and Portable Web Server", by Pai et al). See also the
talk slides.
-
Fri Feb 25: User-Level Inter-Process Communication (Bershad et al paper)
-
Mon Feb 28: "The
Spring Nucleus: A Microkernel for Objects" by Hamilton, Kougiouris
(doors)
-
Wed Mar 1: "A
Note on Distributed Computing" by Waldo, Wyant, Wollrath, Kendall.
Project
2 given out
-
Fri Mar 3: Distributed Computing Discussion (based on Waldo paper and Core
Jini Ch. 2)
-
Mon Mar 13: Project 1 Feedback: a crash course in performance analysis
-
Wed Mar 15: Distributed File Systems (Tanenbaum Ch. 5, Silberschatz and
Galvin Ch. 17)
-
Fri Mar 17: Distributed File Systems (final
slide which was not in handout)
-
Mon Mar 20: Distributed File Systems case studies. The Sprite
file system (recommended paper: Caching
in the Sprite Distributed File System by Nelson et al.)
-
Wed Mar 22: Exam 2 review
-
Fri Mar 24: Exam 2
-
Mon Mar 27: Exam 2 Discussion
-
Wed Mar 29: Conclude Distributed File System Case Studies
-
Fri Mar 31: RPC mechanisms, Project
3 given out
-
Mon Apr 3: RPC facilities continued (DCOM
papers--recommended paper: "DCOM Technical Overview")
-
Wed Apr 5: Sun RPC tutorial
-
Fri Apr 7: Distributed Shared Memory (Tanenbaum Ch. 6)
-
Mon Apr 10: Distributed Shared Memory (cont'd)
-
Wed Apr 12: Distributed Shared Memory (cont'd)
-
Fri Apr 14: Jennifer Dempsey and Alison Smith's senior presentation: "Filaments:
Efficient Support for Fine-Grain Parallelism"
-
Mon Apr 17: Haihui Niu's senior presentation: "Providing
Easier Access to Remote Objects in Client-Server Systems" and Brian
Bonnough's senior presentation: "Active
Storage For Large-Scale Data Mining and Multimedia"
-
Wed Apr 19: Jeff Cole's senior presentation: "Serverless
Network File Systems" and Chris Lenfest's senior presentation: "Implementing
Global Memory Management in a Workstation Cluster" (By Karlin et al. in
SOSP '95)
-
Fri Apr 21: Keagan Elsley's senior presentation: "Multimedia
Storage Servers: A Tutorial" and Michael
Smith's senior presentation: "An Optimal Algorithm for Mutual
Exclusion in Computer Networks" (by Ricart and Agrawala, CACM 24-1)
-
Mon Apr 24: Jonathan Tew's senior presentation: "Cluster-based
Scalable Network Services" and Matt Scopp's senior presentation: "A
Caching Model of OS Kernel Functionality"
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: